]> git.ipfire.org Git - thirdparty/xfsprogs-dev.git/commitdiff
xfs_io: don't fail FS_IOC_FSGETXATTR on filesystems that lack support
authorAnthony Iliopoulos <ailiop@suse.com>
Sat, 22 Feb 2025 15:08:32 +0000 (16:08 +0100)
committerAndrey Albershteyn <aalbersh@kernel.org>
Wed, 26 Feb 2025 13:26:51 +0000 (14:26 +0100)
Not all filesystems implement the FS_IOC_FSGETXATTR ioctl, and in those
cases -ENOTTY will be returned. There is no need to return with an error
when this happens, so just silently return.

Without this fstest generic/169 fails on NFS that doesn't implement the
fileattr_get inode operation.

Fixes: e6b48f451a5d ("xfs_io: allow foreign FSes to show FS_IOC_FSGETXATTR details")
Signed-off-by: Anthony Iliopoulos <ailiop@suse.com>
Reviewed-by: Darrick J. Wong <djwong@kernel.org>
io/stat.c

index 3ce3308d05627e18b78e7e14ae119fcb5f36bad7..d27f916800c00a636b813ad2c286c35ed0804e42 100644 (file)
--- a/io/stat.c
+++ b/io/stat.c
@@ -104,8 +104,10 @@ print_extended_info(int verbose)
        struct fsxattr fsx = {}, fsxa = {};
 
        if ((ioctl(file->fd, FS_IOC_FSGETXATTR, &fsx)) < 0) {
-               perror("FS_IOC_GETXATTR");
-               exitcode = 1;
+               if (errno != ENOTTY) {
+                       perror("FS_IOC_FSGETXATTR");
+                       exitcode = 1;
+               }
                return;
        }