[PATCH 1/2] btrfs-progs: return non zero when label is not found

Anand Jain
2014-01-14T11:07:55Z

btrfs filesystem show <not-found-label> should return non zero

Signed-off-by: Anand Jain <anand.jain@oracle.com>
---
cmds-filesystem.c | 12 +++++++++---
1 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/cmds-filesystem.c b/cmds-filesystem.c
index c50a65f..ee6cc84 100644
--- a/cmds-filesystem.c
+++ b/cmds-filesystem.c
@@ -612,6 +612,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;
@@ -694,8 +695,10 @@ static int cmd_show(int argc, char **argv)
ret = btrfs_scan_kernel_v2(search);
if (ret == -ENOTTY)
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)
@@ -717,12 +720,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[] = {
--
1.7.1