summaryrefslogtreecommitdiff
path: root/cmds-chunk.c
diff options
context:
space:
mode:
authorWang Shilong <wangsl.fnst@cn.fujitsu.com>2013-09-04 23:22:20 +0800
committerChris Mason <chris.mason@fusionio.com>2013-10-16 08:20:03 -0400
commita74e3b414596623b4d627e1935be97263a1f99af (patch)
treea18fbea1e0f9b60e5ca3c8cd69c3a3bb2ef8ab04 /cmds-chunk.c
parent2f041d991529a0ca012766c4bd4b4b67e3cd4da6 (diff)
Btrfs-progs: fix magic return value in cmds-chunk.c
Signed-off-by: Wang Shilong <wangsl.fnst@cn.fujitsu.com> Signed-off-by: David Sterba <dsterba@suse.cz> Signed-off-by: Chris Mason <chris.mason@fusionio.com>
Diffstat (limited to 'cmds-chunk.c')
-rw-r--r--cmds-chunk.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/cmds-chunk.c b/cmds-chunk.c
index 54f05731..115db61a 100644
--- a/cmds-chunk.c
+++ b/cmds-chunk.c
@@ -794,13 +794,15 @@ static int scan_devices(struct recover_control *rc)
int ret = 0;
int fd;
struct btrfs_device *dev;
+ int e;
list_for_each_entry(dev, &rc->fs_devices->devices, dev_list) {
fd = open(dev->name, O_RDONLY);
if (fd < 0) {
+ e = errno;
fprintf(stderr, "Failed to open device %s\n",
dev->name);
- return -1;
+ return -e;
}
ret = scan_one_device(rc, fd, dev);
close(fd);
@@ -1785,7 +1787,7 @@ int cmd_chunk_recover(int argc, char *argv[])
ret = check_mounted(file);
if (ret) {
fprintf(stderr, "the device is busy\n");
- return ret;
+ goto out;
}
ret = btrfs_recover_chunk_tree(file, verbose, yes);
@@ -1797,5 +1799,6 @@ int cmd_chunk_recover(int argc, char *argv[])
} else {
fprintf(stdout, "Fail to recover the chunk tree.\n");
}
- return ret;
+out:
+ return !!ret;
}