Very probably, but I have not tested though. The thing is that I have no idea how 'expensive' the getxattr() system call is. And given the fact that the file-has-acl() function will be in vast majority cases used on non-nfs filesystems, then I wanted to avoid it if possible.
The other (perhaps better?) approach would be to call listxattr() call at the beginning to see what we are up to actually (in single go we would able to detect posix and nfsv4 attrs) The disadvantage would be slightly bigger patch, but we would definitely spare at least one getxattr() call. How does this sound? Zasláno z Outlooku pro Android<https://aka.ms/AAb9ysg> ________________________________ From: Paul Eggert <egg...@cs.ucla.edu> Sent: Saturday, April 29, 2023 8:35:06 AM To: Ondrej Valousek <ondrej.valousek...@renesas.com> Cc: bug-gnulib@gnu.org <bug-gnulib@gnu.org> Subject: Re: [PATCH] fix NFSv4 acl detection on F39 On 2023-04-28 13:38, Ondrej Valousek wrote: > On newer systems like Fedora 39, we can't distinguish from the > getxattr(,XATTR_NAME_POSIX_ACL_*,,) > which filesystem we are on. The call return either success or ENODATA. Does getxattr (name, XATTR_NAME_NFSV4_ACL, xattr, sizeof xattr) also have this problem on Fedora 39? If not, perhaps we should instead do the NFSv4 call first, to save the need for the "POSIX" getxattr call when the file system supports NFSv4. Something like the attached, perhaps?