path: root/cmds-device.c
diff options
authorAnand Jain <>2013-07-15 13:30:53 +0800
committerDavid Sterba <>2013-08-09 14:32:36 +0200
commitb8e23d4fb268152447761a9855d0afc75065215f (patch)
treecbfe0fa793eefffe9380ec958af01aa10754f946 /cmds-device.c
parent5333445574adf8415ce3b7e8b13cf8feeb39b836 (diff)
btrfs-progs: device delete to get errors from the kernel
when user runs command btrfs dev del the raid requisite error if any goes to the /var/log/messages, its not good idea to clutter messages with these user (knowledge) errors, further user don't have to review the system messages to know problem with the cli it should be dropped to the user as part of the cli return. to bring this feature created a set of the ERROR defined BTRFS_ERROR_DEV* error codes and created their error string. I expect this enum to be added with other error which we might want to communicate to the user land Signed-off-by: Anand Jain <> Signed-off-by: David Sterba <> Signed-off-by: Chris Mason <>
Diffstat (limited to 'cmds-device.c')
1 files changed, 8 insertions, 2 deletions
diff --git a/cmds-device.c b/cmds-device.c
index c1dc363a..be2aaff3 100644
--- a/cmds-device.c
+++ b/cmds-device.c
@@ -165,8 +165,14 @@ static int cmd_rm_dev(int argc, char **argv)
strncpy_null(, argv[i]);
res = ioctl(fdmnt, BTRFS_IOC_RM_DEV, &arg);
e = errno;
- if(res<0){
- fprintf(stderr, "ERROR: error removing the device '%s' - %s\n",
+ if (res > 0) {
+ fprintf(stderr,
+ "ERROR: error removing the device '%s' - %s\n",
+ argv[i], btrfs_err_str(res));
+ ret++;
+ } else if (res < 0) {
+ fprintf(stderr,
+ "ERROR: error removing the device '%s' - %s\n",
argv[i], strerror(e));