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?