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>
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++;
}
}