diff options
Diffstat (limited to 'net/syncffsd/DESCR')
-rw-r--r-- | net/syncffsd/DESCR | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/net/syncffsd/DESCR b/net/syncffsd/DESCR new file mode 100644 index 00000000000..140a70ede1e --- /dev/null +++ b/net/syncffsd/DESCR @@ -0,0 +1,16 @@ +syncffsd uses rsync(1) to replicate a directory tree to another host. +This involves detecting changes, something NetBSD is not well prepared to +handle. The kqueue(2) interface can detect changes, but it needs to use a +file descriptor for every node monitored, and this does not scales very +well for huge directories trees. + +syncffsd attempts to improve the situation until kqueue(2) gets better, +by using FFS superblock's fs_time field, which is updated on every +filesystem change. This lets syncffsd detects a change immediatly if the +filesystem is mounted synchronous, or after a few seconds if mounted with +WAPBL(4) enabled. + +Once a change is detected, the relevant nodes are found by walking source +looking for files that changed since the previous filesystem modification. +The resulting nodes are deduped (i.e.: we do not retain a node in +a directory if the directory itself changed), and are fed to rsync(1). |