Arch Linux

Please read this before reporting a bug:
https://wiki.archlinux.org/title/Bug_reporting_guidelines

Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.

REPEAT: Do NOT report bugs for outdated packages!
Tasklist

FS#77970 - [attr] Can't copy files from a NFSv4 share when preserving permissions

Attached to Project: Arch Linux
Opened by Frantisek Sumsal (mrc0mmand) - Thursday, 23 March 2023, 15:38 GMT
Last edited by Christian Hesse (eworm) - Saturday, 25 March 2023, 23:14 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To Christian Hesse (eworm)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:
I'm not quite sure if this constitutes as a bug, and if so if it should be for attr or coreutils, but with the latest coreutils package I can't no longer copy files from a NFSv4 share to a tmpfs directory while trying to preserve permissions (i.e. with cp -a):

# mount -l | grep /build
192.168.121.1:/root/data on /build type nfs4 (rw,noatime,vers=4.0,rsize=32768,wsize=32768,namlen=255,acregmin=2,acregmax=2,acdirmin=2,acdirmax=2,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=192.168.121.187,fsc,local_lock=none,addr=192.168.121.1)
# cp -a /build/file /tmp
cp: preserving permissions for ‘/tmp/file’: Operation not supported

The error cames from fsetxattr(), which tries to copy over the system.nfs4_acl xattr:
# getfattr -d -m '.*' /build/file
getfattr: Removing leading '/' from absolute path names
# file: build/file
system.nfs4_acl=0sAAAAAwAAAAAAAAAAABYBhwAAAAZPV05FUkAAAAAAAAAAAAAAABIAgQAAAAZHUk9VUEAAAAAAAAAAAAAAABIAgQAAAAlFVkVSWU9ORUAAAAA=

# strace -e fsetxattr cp -a /build/file /tmp
fsetxattr(5, "system.nfs4_acl", "\0\0\0\3\0\0\0\0\0\0\0\0\0\26\1\207\0\0\0\6OWNER@\0\0\0\0\0", 80, 0) = -1 EOPNOTSUPP (Operation not supported)
cp: preserving permissions for ‘/tmp/file’: Operation not supported
+++ exited with 1 +++

All this is configurable in the /etc/xattr.conf file, and when removing the system.nfs4* lines everything works again. Also, this is exactly what Fedora has been doing for a while [0].

I'm not sure why cp started honouring this just now, but it may surprise some folks.

Again, I'm not sure if this is actually bug or a result of a fixed bug (it's definitely a change in behavior) so feel free to close this if it's intended behavior.

[0] https://src.fedoraproject.org/rpms/attr/blob/rawhide/f/0003-attr-2.4.48-xattr-conf-nfs4-acls.patch

Additional info:
* package version(s)
attr 2.5.1-2
coreutils 9.2-1
This task depends upon

Closed by  Christian Hesse (eworm)
Saturday, 25 March 2023, 23:14 GMT
Reason for closing:  Implemented
Additional comments about closing:  attr 2.5.1-3

Loading...