Re: Rsync 3.0.0pre4 errors with ACLs and Xattrs between OSX and Linux

2007-10-30 Thread Paul Ortman

Wayne Davison wrote:
> On Tue, Oct 30, 2007 at 06:42:04PM -0400, Paul Ortman wrote:
>> It's my understanding that as of 3.0 rsync supports OS X ACLs and
>> extended attributes, and that it should be possible to backup a
>> tree from an OS X system that contains files and folders with
>> ACLs and extended attributes to a Linux host filesystem that has
>> both "user_xattrs" and "acl" enabled on the destination file
>> system.
>
> No, OS X ACLs are not standard POSIX ACLs, and cannot be directly
> sent to an incompatible host.  You can instead tell the receiving
> host to use --fake-super, which will store/retrieve the ACL
> information as an xattr (among other things).  This incompatible
> ACL data is the cause of this error:

Such good information... Is there a authoritative documentation
section (wiki, faq, etc) where I could post this information?  Maybe
my google-foo is just bad, but I can't seem to find that information
out easily, and I'd love to point others to a central documentation
place.  Please excuse me if this should be really obvious...

I'll add the "fake super = yes" value to my sample receiving conf
file and do some more testing.  Looks like I'll also try targeting
an XFS volume at the same time.

>> recv_acl_access: value out of range: 7d3001
>
> That number is nonsensical to a POSIX ACL system, such as Linux.

Makes sense, given above.

> The next error you cite is a limitation of your file system
> (probably ext3) in how large the extended attribute data can be:
>
>> rsync: rsync_xal_set:
>> lsetxattr(".file_with_xattrs.EGbmPN","user.com.apple.ResourceFork")
>> failed: Argument list too long (7)
>
> If lsetxattr() is complaining, there's nothing rsync can do about
> it (not without outside assistance).

The drive was ext3 formatted.  So this also makes sense.

> A helpful user here, Wesley Terpstra, posted a solution that uses
> an LD_PRELOAD library to redirect the ResourceFork xattr data into
> a DB.  Look for the posting with the subject "Linux backup server
> LD_PRELOAD".  (I haven't tried it, but the code looked good.)
>
> Another solution is to choose a different filesystem, such as (I
> believe, but double-check to be sure) xfs.

XFS seems like a reasonable option for me, I'll try it out tomorrow
at work.  I'll also take a look at the LD_PRELOAD option tomorrow.

Again, thanks for the help/clarification.

Paul

--
To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/rsync
Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html


Re: Rsync 3.0.0pre4 errors with ACLs and Xattrs between OSX and Linux

2007-10-30 Thread Wayne Davison
On Tue, Oct 30, 2007 at 06:42:04PM -0400, Paul Ortman wrote:
> It's my understanding that as of 3.0 rsync supports OS X ACLs and
> extended attributes, and that it should be possible to backup a tree
> from an OS X system that contains files and folders with ACLs and
> extended attributes to a Linux host filesystem that has both
> "user_xattrs" and "acl" enabled on the destination file system.

No, OS X ACLs are not standard POSIX ACLs, and cannot be directly sent
to an incompatible host.  You can instead tell the receiving host to use
--fake-super, which will store/retrieve the ACL information as an xattr
(among other things).  This incompatible ACL data is the cause of this
error:

> recv_acl_access: value out of range: 7d3001

That number is nonsensical to a POSIX ACL system, such as Linux.

The next error you cite is a limitation of your file system (probably
ext3) in how large the extended attribute data can be:

> rsync: rsync_xal_set: 
> lsetxattr(".file_with_xattrs.EGbmPN","user.com.apple.ResourceFork") failed: 
> Argument list too long (7)

If lsetxattr() is complaining, there's nothing rsync can do about it
(not without outside assistance).

A helpful user here, Wesley Terpstra, posted a solution that uses an
LD_PRELOAD library to redirect the ResourceFork xattr data into a DB.
Look for the posting with the subject "Linux backup server LD_PRELOAD".
(I haven't tried it, but the code looked good.)

Another solution is to choose a different filesystem, such as (I
believe, but double-check to be sure) xfs.

..wayne..
-- 
To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/rsync
Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html