Greg Kitch writes:
We have experienced the following problem with the --delete option when using rsync to mirror data...
When a directory on the source file system is replaced by a symbolic link with the same name, the directory is deleted from the destination file system by rsync by unlinking the directory without having recursively removed all files/directories under the parent (deleted) directory.
The net effect on our local destination file system seems to be that this leaves unreferenced files and directories that must be cleaned up by fsck at some future date. We noticed this by accident simply because we decided to take an rsync-mirrored disk offline and fsck it to check its integrity.
Our question is...What will happen to a wafl file system if rsync deletes a directory in this fashion? Does NFS deal with this properly or is it a potential issue?
Apparantly this is an issue with Solaris (root can unlink() an non empty directory).
There was a recent commit message on the rsync mailing lists which specifically ranted against this behaviour (with an appropriate workaround). I believe rsync 2.4.1 has just been released which may solve this issue.
Luke.
PS: I don't think the filers are affected by it.