Backing up resource forks
wayned at samba.org
Sun Mar 13 23:42:15 MDT 2011
On Fri, Mar 11, 2011 at 8:05 AM, Mike Bombich <mike at bombich.com> wrote:
> FWIW, I updated http://www.bombich.com/rsync.html just recently with a
> minor bug fix to my HFS+ compression patch (preserving resource forks when
> --fileflags was not used).
I looked over your patch to see about getting it adapted for 3.0.8. While
doing that I made some changes and fixes for various things. Some notes on
- Firstly, I made use of some of the fixes in your patch for the
fileflags and crtimes patches -- thanks!
- Your patch set an ITEM_REPORT_XATTR flag in a FLAG_* variable, which
really set FLAG_HLINK_DONE, which is potentially harmful for the code's
ability to retrieve values for a file's data. While it would have been
possible to change this to a new flag, I instead changed the xattr idiom to
pass the compressed-data xattr as a normal abbreviated entry, but with the
mtime in the checksum. This lets the code work normally to figure out if
the xattr field is identical or not (and incorporates the size into the
check, for added safety).
- I got rid of the compat_flag changes in compat.c, since they are not
needed and are potentially harmful for forward compatibility (if I should
ever use that compatibility bit in a future release). Instead, the code in
options.c dies if the option is not available.
- The code for checking the destination file system's compression support
was moved to main.c (since that is what calls it).
- The repeating code that tweaks the stat-struct was moved into x_stat(),
so it's in just one spot.
- I fixed some issues that caused the "make check" tests to fail.
- I changed your rsync.1 change into an rsync.yo change (since the
manpages are generated from the yodl files).
- I made some style changes, getting rid of trailing whitespace, using /*
... */ for comments, etc.
- I checked in the result into the patches git repo as
If you would test the result, I'd appreciate it. I verified that it
compiles and passes the testsuite, but I don't currently have any compressed
files to test it against.
To snag the code, either grab things from git or download a tar file of the
resulting code. The git method:
git clone git://git.samba.org/rsync
git clone git://git.samba.org/rsync-patches rsync/patches
git checkout b3.0.x
git checkout b3.0.x
Then just follow the directions in the patches/hfs-compression.diff for
applying the 3 patches and compiling.
Or you can snag this tar file which has all the patches applied:
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the rsync