Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Should "rsync -X" take note of the settings in /etc/xattr.conf? #163

Closed
dhowells opened this issue Mar 4, 2021 · 2 comments
Closed

Should "rsync -X" take note of the settings in /etc/xattr.conf? #163

dhowells opened this issue Mar 4, 2021 · 2 comments

Comments

@dhowells
Copy link

dhowells commented Mar 4, 2021

/etc/xattr.conf can be configured (on some Linuxes, at least), to cause certain xattrs to be skipped in copies. Note that "cp --preserve=xattr" makes use of this (at least on Fedora - doesn't seem to on Ubuntu). Should rsync be taking note of this too?

The effect of this can be seen with rsync-3.1.3-11.fc32.x86_64 copying from an file mounted with kafs:

http://lists.infradead.org/pipermail/linux-afs/2021-March/003502.html

Assuming you've patched your kernel with the patch:

http://lists.infradead.org/pipermail/linux-afs/2021-March/003501.html

you will see rsync failing because it's trying to copy informational and meta xattrs that don't really exist.

@dhowells
Copy link
Author

dhowells commented Mar 4, 2021

To test this, you need to install the kafs-client and keyutils packages and do "systemctl start afs.mount". Alternatively, you manually mount somewhere, e.g. mount -t afs "#openafs.org:root.cell" /mnt . You can then do:

rsync -X /afs/openafs.org/software/openafs/README.TXT /tmp

or, if mounted manually:

rsync -X /mnt/software/openafs/README.TXT /tmp

torvalds added a commit to torvalds/linux that referenced this issue Mar 15, 2021
…kernel/git/dhowells/linux-fs

Pull AFS fixes from David Howells:

 - Fix an oops in AFS that can be triggered by accessing one of the
   afs.yfs.* xattrs against an OpenAFS server - for instance by commands
   like "cp -a"[1], "rsync -X" or getfattr[2]. These try and copy all of
   the xattrs.

   cp and rsync should pay attention to the list in /etc/xattr.conf, but
   cp doesn't on Ubuntu and rsync doesn't seem to on Ubuntu or Fedora.
   xattr.conf has been modified upstream[3], and a new version has just
   been cut that includes it. I've logged a bug against rsync for the
   problem there[4].

 - Stop listing "afs.*" xattrs[5][6][7], but particularly ACL ones[8] so
   that they don't confuse cp and rsync.

   This removes them from the list returned by listxattr(), but they're
   still available to get/set.

Link: http://lists.infradead.org/pipermail/linux-afs/2021-March/003498.html [1]
Link: http://lists.infradead.org/pipermail/linux-afs/2021-March/003501.html [2]
Link: https://git.savannah.nongnu.org/cgit/attr.git/commit/?id=74da517cc655a82ded715dea7245ce88ebc91b98 [3]
Link: RsyncProject/rsync#163 [4]
Link: http://lists.infradead.org/pipermail/linux-afs/2021-March/003516.html [5]
Link: http://lists.infradead.org/pipermail/linux-afs/2021-March/003524.html [6]
Link: http://lists.infradead.org/pipermail/linux-afs/2021-March/003565.html # v1
Link: http://lists.infradead.org/pipermail/linux-afs/2021-March/003568.html [7]
Link: http://lists.infradead.org/pipermail/linux-afs/2021-March/003570.html [8]
Link: http://lists.infradead.org/pipermail/linux-afs/2021-March/003571.html # v2

* tag 'afs-fixes-20210315' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs:
  afs: Stop listxattr() from listing "afs.*" attributes
  afs: Fix accessing YFS xattrs on a non-YFS server
@WayneD
Copy link
Member

WayneD commented Apr 4, 2021

Rsync support xattr excludes, which you can use to take full control over what attributes are copied.

@WayneD WayneD closed this as completed Apr 4, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants