On Thu, 5 Sep 2024 15:28:42 +0800, Hongbo Li wrote:
> On 2024/9/5 10:09, David Disseldorp wrote:
> > This reverts commit 03ef80b469d5d83530ce1ce15be78a40e5300f9b.
> >
> May be the subject should be Fix .... The original commit
> 03ef80b469d5d83530ce1ce15be78a40e5300f9b has been changed by other change.
True, it's not a clean revert of 03ef80b469d5d ("bcachefs: Ignore
unknown mount options") but is atop 929d954330142 ("bcachefs: use new
mount API"). Can change this over to a regular Fixes commit if desired.
> > Contrary to the commit message, unknown mount options do result in
> > failure on other filesystems such as xfs, btrfs, ext4, etc.
> >
> > Ignoring unknown options may result in unexpected behaviour: e.g. if
> > an application requires future-workload-specific-mount-option to work
> > and is run on a system without future-workload-specific-mount-option
> > kernel support, then it may fail without indication of the missing
> > kernel functionality.
> >
> > This reversion may cause failures for existing users reliant on the
> > ignore-unknown behaviour, but it should be bearable given bcachefs is
> > still flagged experimental.
> >
> > Reported-by: Martin Doucha <[email protected]>
> > Closes: https://bugzilla.opensuse.org/show_bug.cgi?id=1230065
> > Signed-off-by: David Disseldorp <[email protected]>
> > ---
> > fs/bcachefs/opts.c | 3 +--
> > 1 file changed, 1 insertion(+), 2 deletions(-)
> >
> > diff --git a/fs/bcachefs/opts.c b/fs/bcachefs/opts.c
> > index e10fc1da71b1..bc5c18087821 100644
> > --- a/fs/bcachefs/opts.c
> > +++ b/fs/bcachefs/opts.c
> > @@ -482,9 +482,8 @@ int bch2_parse_one_mount_opt(struct bch_fs *c, struct
> > bch_opts *opts,
> > val = "0";
> > }
> >
> > - /* Unknown options are ignored: */
> > if (id < 0)
> > - return 0;
> > + goto bad_opt;
> As other filesystem done, for unknown options, it prints the `Unknown
> parameter` to hint the user. May be goto bad_opt is not reasonable.
bad_opt prints an error message naming the invalid option:
521 bad_opt:
522 pr_err("Bad mount option %s", name);
523 ret = -BCH_ERR_option_name;
524 goto out;
Thanks, David