diff options
author | Anand Jain <anand.jain@oracle.com> | 2013-12-18 12:07:55 +0800 |
---|---|---|
committer | Chris Mason <clm@fb.com> | 2014-01-31 08:22:21 -0800 |
commit | d89437893266332cce295c06c9d00b79aa5b4dd6 (patch) | |
tree | 415b50a673c6c6e49c5bc3403f654ddd5631b9ab /cmds-device.c | |
parent | b5a09775c6e3dd6c842764b026e1764a057b7dfd (diff) |
btrfs-progs: handle error in the btrfs_prepare_device
this patch will handle the strerror reporting of the error instead of
printing errno, and also replaced the BUG_ON with the error handling
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>
Diffstat (limited to 'cmds-device.c')
-rw-r--r-- | cmds-device.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/cmds-device.c b/cmds-device.c index ea20919e..5be83300 100644 --- a/cmds-device.c +++ b/cmds-device.c @@ -111,13 +111,11 @@ static int cmd_add_dev(int argc, char **argv) res = btrfs_prepare_device(devfd, argv[i], 1, &dev_block_count, 0, &mixed, discard); + close(devfd); if (res) { - fprintf(stderr, "ERROR: Unable to init '%s'\n", argv[i]); - close(devfd); ret++; - continue; + goto error_out; } - close(devfd); strncpy_null(ioctl_args.name, argv[i]); res = ioctl(fdmnt, BTRFS_IOC_ADD_DEV, &ioctl_args); @@ -130,6 +128,7 @@ static int cmd_add_dev(int argc, char **argv) } +error_out: close_file_or_dir(fdmnt, dirstream); return !!ret; } |