DO NOT REPLY [Bug 3579] New: Add support for pregenerated directory listings

samba-bugs at samba-bugs at
Fri Mar 3 15:52:45 GMT 2006

           Summary: Add support for pregenerated directory listings
           Product: rsync
           Version: 2.6.7
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: enhancement
          Priority: P3
         Component: core
        AssignedTo: wayned at
        ReportedBy: robe at
         QAContact: rsync-qa at


I run a mirror server for various projects and rsync generating directory
listings  for incoming connections takes a good deal of the available
ressources (mainly disk I/O). Increasing the directory + inode cache is a no-go
when having ~3 million inodes/directory entries.

What I'd like to see is an option for rsync when run as a client and updating
local files, to generate a directory listing which rsync run as a daemon can
parse and serve out instead of having to generate the directory listing itself.

There would be undoubtedly time windows where the data in the generated
directory listing would be out of date (when a child process is updating the
directory tree in question), but that's true too when the directory gets
modified after the daemon has sent the directory listing. There is an
additional risk of the dirlisting file getting corrupted and/or outdated, but
that's negligible compared to the speed gain.


Rsync run as client:

rsync -a --delete-after --generate-dirlist=/home/foo/rsync-foo.lst


path = /home/foo/rsyncdata/
list = yes
dirlisting file = /home/foo/rsync-foo.lst

Please give this request a good thought, it might not be "nice" or "the correct
way" to tackle this problem and there are probably not many setups where this
feature makes sense, but it shouldn't be too hard to implement and will help
many mirror admins around the world, especially those who carry many projects
(also rsync and samba :P). If you should need more opinions/voices on this I
can run this feature request along the mirror-admin mailinglists of a few
larger projects.

Configure bugmail:
------- You are receiving this mail because: -------
You are the QA contact for the bug, or are watching the QA contact.

More information about the rsync mailing list