4 ms·
lsyncd does the brunt of the work. it uses inotify, which is a facility of the linux kernel, to tell which files should be copied. but i think there is a probl
by dododo 16y ago
lsyncd does the brunt of the work. it uses inotify, which is a facility of the linux kernel, to tell which files should be copied. but i think there is a problem.
inotify is not guaranteed to see every file system access. in fact, it often misses them when the file system is busy because there is an upper bound upon the number of inotify events that can be queued, set in /proc/sys/fs/inotify/max_queued_events.
i.e., you could get data loss using this mechanism alone. you need to also run rsync every so often, i think.
the lsyncd guys are aware of this: http://code.google.com/p/lsyncd/ http://code.google.com/p/lsyncd/
(maybe this is how dropbox works under linux too, if so it presumably has the same problem..)
- beza1e1 16y agoWell, Ubuntu One seems to rely on checking every so often alone ...
- noja 16y agoAny files not moved elsewhere within X seconds can be handled by a cleanup daemon.
- rw- 16y agoinotify is also unable to inherit handlers. after a "mkdir -p a/b/c/d" it is very likely that "d" is untracked. therefore lsyncd is useless on real systems. :(
- brlewis 16y agoI would guess Dropbox has this same problem on Linux, though I can't say with certainty. What I can say with certainty is that they're thinking about the problem. As is often the case, you learn a lot about a company through its jobs page. Their latest challenge for applicants looks very much like this problem.