On 2024/9/5 19:08, David Disseldorp wrote:
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.
In my humble opinion, fixes commit seems better. And also add Fixes:
03ef80b469d5 ("bcachefs: Ignore unknown mount options").
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:
ok, it seems good.
Thanks,
Hongbo
521 bad_opt:
522 pr_err("Bad mount option %s", name);
523 ret = -BCH_ERR_option_name;
524 goto out;
Thanks, David