btrfs-progs: improve troubleshooting avoid duplicate error strings
authorAnand Jain <anand.jain@oracle.com>
Mon, 13 Apr 2015 12:37:01 +0000 (20:37 +0800)
committerDavid Sterba <dsterba@suse.cz>
Tue, 14 Apr 2015 13:19:04 +0000 (15:19 +0200)
my troubleshooting experience says have unique error string per module.

In the below eg, its one additional step to know error line,

cat -n cmds-device.c | egrep "error removing the device"
   185 "ERROR: error removing the device '%s' - %s\n",
   190 "ERROR: error removing the device '%s' - %s\n",

which is completely avoidable.

Signed-off-by: Anand Jain <anand.jain@oracle.com>
[merged the two messages into one]
Signed-off-by: David Sterba <dsterba@suse.cz>
cmds-device.c

index f9ac7f5..9a7287a 100644 (file)
@@ -180,15 +180,16 @@ static int cmd_rm_dev(int argc, char **argv)
                strncpy_null(arg.name, 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",
-                               argv[i], btrfs_err_str(res));
-                       ret++;
-               } else if (res < 0) {
+               if (res) {
+                       const char *msg;
+
+                       if (ret > 0)
+                               msg = btrfs_err_str(res);
+                       else
+                               msg = strerror(e);
                        fprintf(stderr,
                                "ERROR: error removing the device '%s' - %s\n",
-                               argv[i], strerror(e));
+                               argv[i], msg);
                        ret++;
                }
        }