FreeBSDUnionFSWhiteouts
From RdiffBackupWiki
Suggested on the mailing list:
Hi!
Would it be possible to implement backuping whiteouts on FreeBSD systems? They are used to mark deleted files on unionfs FreeBSD implementation system. They are a special file type and not a .wh.* hidden file (as on Linux?). ls and rm tools on FreeBSD can detect (and remove) those files with -W flag (at least on FreeBSD 7.0).
In this way it would be possible to use rdiff-backup to backup a union mounted directories which will, when restored, keep deleted files really deleted (and so files would not reappear from a lower layer).
Of course it would be even better if rdiff-backup would not backup data from lower layer which is seen through upper layer (because data was not modified and thus copied to upper layer) but this is hard to accomplish and I can correct this after restoration with a script which searches and removes all files on a (not mounted) upper layer which exists exactly the same on a lower layer. But there is an impact on a backup size as it (unnecessary) duplicates data.
It would be probably possible to make a similar but invert script which would after restoration check which files does not exist on upper level in a restoration and do exist on lower level and mark all those with whitemarks . But if the lower layer changed in between it could mark too much. OK, this could be solved with using the same (backuped and restored) lower layer for comparison. But all this is getting really complicated, so ... this is why I would really like to see some support for unionfs in rdiff-backup.
Maybe there is some way to get all files from mounted upper layer which are really just there (like if I would unmount the upper layer and backup then - but this is not possible as would represent a downtime). Maybe with an use of unionfs snapshots?
Mitar -- mmitar@gmail.com
