btrfsck: decode error properly
authorSergei Trofimovich <slyfox@gentoo.org>
Sun, 28 Aug 2011 11:23:24 +0000 (14:23 +0300)
committerChris Mason <chris.mason@oracle.com>
Tue, 25 Oct 2011 13:18:59 +0000 (09:18 -0400)
check_mounted() returns kernel-style negative errors.
Patch drops sign for strerror().

Before the patch:
check_mounted(): Could not open /dev/sdb2
Could not check mount status: Unknown error 18446744073709551603

After the patch:
check_mounted(): Could not open /dev/sdb2
Could not check mount status: Permission denied

Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
btrfs-select-super.c
btrfs-zero-log.c
btrfsck.c

index f12f36c..51eb9c9 100644 (file)
@@ -75,7 +75,7 @@ int main(int ac, char **av)
        radix_tree_init();
 
        if((ret = check_mounted(av[optind])) < 0) {
-               fprintf(stderr, "Could not check mount status: %s\n", strerror(ret));
+               fprintf(stderr, "Could not check mount status: %s\n", strerror(-ret));
                return ret;
        } else if(ret) {
                fprintf(stderr, "%s is currently mounted. Aborting.\n", av[optind]);
index f10438b..54d7858 100644 (file)
@@ -50,7 +50,7 @@ int main(int ac, char **av)
        radix_tree_init();
 
        if((ret = check_mounted(av[1])) < 0) {
-               fprintf(stderr, "Could not check mount status: %s\n", strerror(ret));
+               fprintf(stderr, "Could not check mount status: %s\n", strerror(-ret));
                return ret;
        } else if(ret) {
                fprintf(stderr, "%s is currently mounted. Aborting.\n", av[1]);
index fc2ac88..3a23e66 100644 (file)
--- a/btrfsck.c
+++ b/btrfsck.c
@@ -2838,7 +2838,7 @@ int main(int ac, char **av)
        cache_tree_init(&root_cache);
 
        if((ret = check_mounted(av[optind])) < 0) {
-               fprintf(stderr, "Could not check mount status: %s\n", strerror(ret));
+               fprintf(stderr, "Could not check mount status: %s\n", strerror(-ret));
                return ret;
        } else if(ret) {
                fprintf(stderr, "%s is currently mounted. Aborting.\n", av[optind]);