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

Reply via email to