btrfs-progs: Fix the return value when executing 'btrfs prop get' on an uncompressed...
authorQu Wenruo <quwenruo@cn.fujitsu.com>
Tue, 15 Apr 2014 09:22:24 +0000 (17:22 +0800)
committerDavid Sterba <dsterba@suse.cz>
Tue, 22 Apr 2014 12:35:15 +0000 (14:35 +0200)
When executing 'btrfs prop get' on a file which is not compressed, return
value will always be 50 since prop_compress() return -ENOATTR.

But the codes have already check the errno to avoid unnecessary error
message, so the return value should also set to 0.

Signed-off-by: Qu Wenruo <quwenro@cn.fujitsu.com>
Reviewed-by: Filipe Manana <fdmanana@gmail.com>
Signed-off-by: David Sterba <dsterba@suse.cz>
props.c

diff --git a/props.c b/props.c
index 4d0aeea..c09865b 100644 (file)
--- a/props.c
+++ b/props.c
@@ -142,10 +142,12 @@ static int prop_compression(enum prop_object_type type,
                sret = fgetxattr(fd, xattr_name, NULL, 0);
        if (sret < 0) {
                ret = -errno;
-               if (ret != -ENODATA)
+               if (ret != -ENOATTR)
                        fprintf(stderr,
                                "ERROR: failed to %s compression for %s. %s\n",
                                value ? "set" : "get", object, strerror(-ret));
+               else
+                       ret = 0;
                goto out;
        }
        if (!value) {