aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHongbo Li <[email protected]>2024-10-10 12:01:48 +0800
committerKent Overstreet <[email protected]>2024-10-18 00:49:48 -0400
commit489ecc4cfddada303bd9c2b287a3c8744c324ed3 (patch)
treeb68ddb1149abce7289aa61fb2ca950d53b079794
parent07cf8bac2d3efa8d3fb62cd4d98c00087efd7fe8 (diff)
bcachefs: skip mount option handle for empty string.
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]> Signed-off-by: Kent Overstreet <[email protected]>
-rw-r--r--fs/bcachefs/opts.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/bcachefs/opts.c b/fs/bcachefs/opts.c
index 84097235eea9..68d240126522 100644
--- a/fs/bcachefs/opts.c
+++ b/fs/bcachefs/opts.c
@@ -596,6 +596,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;