An idea: rsyncfs, an rsync-based real-time replicated filesystem

Craig Barratt cbarratt at
Wed Apr 13 06:53:59 GMT 2005

Interesting ideas.

> I envision the "VFS Change Logger" as a (hopefully very thin) middle-ware
> that sits between the kernel's VFS interfaces and a real filesystem, like
> ext3, reiser, etc.  The "VFS Change Logger" will pass VFS calls to the
> underlying filesystem driver, but it will make note of certain types of
> calls...

If I understand your description correctly, inotify does something
close to this (although I'm not sure where it sits relative to VFS);

It provides the information via /dev/notify based on ioctl requests.
I vaguely recall inotify doesn't report hardlinks created via link()
(at least based on looking at the utility example).

Inotify will drop events if the application doesn't read them fast
enough.  So a major part of the design is how to deal with that
case, and of course the related problem of how to handle a cold
start (maybe just run rsync, although on a live file system it
is hard to know how much has changed since rsync checked/updated
each file/directory).

Perhaps you would have a background program that slowly reads
(or re-writes the first byte) of each file, so that over time
all the files get checked (although file deletions won't be


More information about the rsync mailing list