xattrs questions
Victor Shoup
shoup at cs.nyu.edu
Sat Apr 7 11:13:16 GMT 2007
I see that rsync will eventually support extended attributes, which
will be great.
But: will it allow backup from a file system that supports xattrs, to
one that does not?
For this to work, rsync would have to represent the xattrs on the
destination machine
in some special format, I suppose, which is outside the usual rsync
mode of operation.
Moreover, even if both machines support xattrs, their might be
restrictions and
subtle differences in semantics that could prevent one from directly
mapping
an xattr on one machine to an xattr on another. For example,
com.apple.ResourceFork
on OSX may be arbitrarily large, and I could imagine that some
filesystems may not allow
this. I could also imagine that there may be restrictions on the
names of xattrs that cause trouble.
So I wonder: has there been a clear discussion about what exactly
rsync's xattr support is to be?
I can see that having an rsync that respected xattrs when both source
and destination
have the same or very similar xattr semantics would be both desirable
and sensible,
but I'm afraid that there may be no simple solution when the two
filesystems take
radically different views on xattrs.
For example, the approach taken by rdiff-backup may be
the most reasonable: store xattrs on the foreign filesystem in a
special archive, using rsync
to transport the data and the xattr archives.
Finally, why are filesystem designers doing this? Do xattrs really
make anyone's lives any better?
Indeed, they seem to break the age-old philosophy of Unix that a file
is just data.
Of course, there have always been permission bits, which complicate
matters (and BSD
went ahead and added more funny bits). I can also understand ACLs.
But any extra
data that goes beyond basic access control: that should just be a
separate file.
It seems that this xattr stuff is simply creating a tower of Babel
that breaks interoperability....
and for what?
More information about the rsync
mailing list