From: Kent Overstreet Date: Sat, 4 Jun 2022 18:49:02 +0000 (-0400) Subject: bcachefs: Add some missing error messages X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=4a7a7ea1f59032e182b9faba06df61d6375a1f97;p=linux.git bcachefs: Add some missing error messages bch2_opt_parse() was failing to generate error messages in error path. Signed-off-by: Kent Overstreet --- diff --git a/fs/bcachefs/opts.c b/fs/bcachefs/opts.c index 385451ef865ef..c4ccb42d78511 100644 --- a/fs/bcachefs/opts.c +++ b/fs/bcachefs/opts.c @@ -267,20 +267,32 @@ int bch2_opt_parse(struct bch_fs *c, switch (opt->type) { case BCH_OPT_BOOL: ret = kstrtou64(val, 10, res); - if (ret < 0) + if (ret < 0 || (*res != 0 && *res != 1)) { + if (err) + pr_buf(err, "%s: must be bool", + opt->attr.name); return ret; + } break; case BCH_OPT_UINT: ret = opt->flags & OPT_HUMAN_READABLE ? bch2_strtou64_h(val, res) : kstrtou64(val, 10, res); - if (ret < 0) + if (ret < 0) { + if (err) + pr_buf(err, "%s: must be a number", + opt->attr.name); return ret; + } break; case BCH_OPT_STR: ret = match_string(opt->choices, -1, val); - if (ret < 0) + if (ret < 0) { + if (err) + pr_buf(err, "%s: invalid selection", + opt->attr.name); return ret; + } *res = ret; break; @@ -289,8 +301,12 @@ int bch2_opt_parse(struct bch_fs *c, return 0; ret = opt->parse(c, val, res); - if (ret < 0) + if (ret < 0) { + if (err) + pr_buf(err, "%s: parse error", + opt->attr.name); return ret; + } } return bch2_opt_validate(opt, *res, err);