btrfs: avoid error code override in btrfs_get_acl
authorChengguang Xu <cgxu519@gmx.com>
Wed, 27 Jun 2018 04:16:37 +0000 (12:16 +0800)
committerDavid Sterba <dsterba@suse.com>
Mon, 6 Aug 2018 11:12:40 +0000 (13:12 +0200)
It's not good to override the error code when failing from
btrfs_getxattr() in btrfs_get_acl() because it hides the real reason of
the failure.

Signed-off-by: Chengguang Xu <cgxu519@gmx.com>
Reviewed-by: Nikolay Borisov <nborisov@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/acl.c

index a1d7211c88846fa5e4ace5acf01ff4499c309ce4..7d673ec9e54a971251f8170eef6f9a2bffa4fbd1 100644 (file)
@@ -45,7 +45,7 @@ struct posix_acl *btrfs_get_acl(struct inode *inode, int type)
        } else if (size == -ENODATA || size == 0) {
                acl = NULL;
        } else {
-               acl = ERR_PTR(-EIO);
+               acl = ERR_PTR(size);
        }
        kfree(value);