btrfs-progs: return non zero when label is not found
authorAnand Jain <anand.jain@oracle.com>
Tue, 14 Jan 2014 11:17:07 +0000 (19:17 +0800)
committerChris Mason <clm@fb.com>
Fri, 31 Jan 2014 16:22:34 +0000 (08:22 -0800)
btrfs filesystem show <not-found-label> should return non zero

Signed-off-by: Anand Jain <anand.jain@oracle.com>
Signed-off-by: David Sterba <dsterba@suse.cz>
Signed-off-by: Chris Mason <clm@fb.com>
cmds-filesystem.c

index 7e11507cffadcfc51cc97c1ec55b6096694c1011..43e1cf3ce91f3f53903eb57e43e089c09a59b0e5 100644 (file)
@@ -539,6 +539,7 @@ static int cmd_show(int argc, char **argv)
        char path[PATH_MAX];
        __u8 fsid[BTRFS_FSID_SIZE];
        char uuid_buf[37];
+       int found = 0;
 
        while (1) {
                int long_index;
@@ -613,8 +614,10 @@ static int cmd_show(int argc, char **argv)
 
        /* show mounted btrfs */
        ret = btrfs_scan_kernel(search);
-       if (search && !ret)
-               return 0;
+       if (search && !ret) {
+               /* since search is found we are done */
+               goto out;
+       }
 
        /* shows mounted only */
        if (where == BTRFS_SCAN_MOUNTED)
@@ -636,12 +639,15 @@ devs_only:
                        continue;
 
                print_one_uuid(fs_devices);
+               found = 1;
        }
+       if (search && !found)
+               ret = 1;
 
 out:
        printf("%s\n", BTRFS_BUILD_VERSION);
        free_seen_fsid();
-       return 0;
+       return ret;
 }
 
 static const char * const cmd_sync_usage[] = {