diff mbox

[03/20] Btrfs-progs: fix magic return value in cmds-chunk.c

Message ID 1378308157-4621-4-git-send-email-wangshilong1991@gmail.com (mailing list archive)
State Accepted, archived
Headers show

Commit Message

Wang Shilong Sept. 4, 2013, 3:22 p.m. UTC
From: Wang Shilong <wangsl.fnst@cn.fujitsu.com>

Signed-off-by: Wang Shilong <wangsl.fnst@cn.fujitsu.com>
---
 cmds-chunk.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)
diff mbox

Patch

diff --git a/cmds-chunk.c b/cmds-chunk.c
index 54f0573..115db61 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;
 }