The options parse in get_tree will split the options buffer, it will
get the empty string for last one by strsep(). After commit
ea0eeb89b1d5 ("bcachefs: reject unknown mount options") is merged,
unknown mount options is not allowed (here is empty string), and this
causes this errors. This can be reproduced just by the following steps:

    bcachefs format /dev/loop
    mount -t bcachefs -o metadata_target=loop1 /dev/loop1 /mnt/bcachefs/

Fixes: ea0eeb89b1d5 ("bcachefs: reject unknown mount options")
Signed-off-by: Hongbo Li <[email protected]>
---
 fs/bcachefs/opts.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/fs/bcachefs/opts.c b/fs/bcachefs/opts.c
index f853f2f3d36c..a249bf98b25a 100644
--- a/fs/bcachefs/opts.c
+++ b/fs/bcachefs/opts.c
@@ -595,6 +595,9 @@ int bch2_parse_mount_opts(struct bch_fs *c, struct bch_opts 
*opts,
        copied_opts_start = copied_opts;
 
        while ((opt = strsep(&copied_opts, ",")) != NULL) {
+               if (!*opt)
+                       continue;
+
                name    = strsep(&opt, "=");
                val     = opt;
 
-- 
2.34.1


Reply via email to