switch statement is more suitable for outputing currsponding message for errno.
Suggested-by: David Sterba <dste...@suse.com> Signed-off-by: Zhao Lei <zhao...@cn.fujitsu.com> --- cmds-scrub.c | 33 ++++++++++++++++++--------------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/cmds-scrub.c b/cmds-scrub.c index 7c9318e..a40eecf 100644 --- a/cmds-scrub.c +++ b/cmds-scrub.c @@ -1457,21 +1457,24 @@ static int scrub_start(int argc, char **argv, int resume) ++err; continue; } - if (sp[i].ret && sp[i].ioctl_errno == ENODEV) { - if (do_print) - fprintf(stderr, "WARNING: device %lld not " - "present\n", devid); - continue; - } - if (sp[i].ret && sp[i].ioctl_errno == ECANCELED) { - ++err; - } else if (sp[i].ret) { - if (do_print) - fprintf(stderr, "ERROR: scrubbing %s failed " - "for device id %lld (%s)\n", path, - devid, strerror(sp[i].ioctl_errno)); - ++err; - continue; + if (sp[i].ret) { + switch (sp[i].ioctl_errno) { + case ENODEV: + if (do_print) + fprintf(stderr, "WARNING: device %lld not present\n", + devid); + continue; + case ECANCELED: + ++err; + break; + default: + if (do_print) + fprintf(stderr, "ERROR: scrubbing %s failed for device id %lld (%s)\n", + path, devid, + strerror(sp[i].ioctl_errno)); + ++err; + continue; + } } if (sp[i].scrub_args.progress.uncorrectable_errors > 0) e_uncorrectable++; -- 1.8.5.1 -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html