Commit 0858d7da authored by yangerkun's avatar yangerkun Committed by Linus Torvalds

ramfs: fix mount source show for ramfs

ramfs_parse_param does not parse key "source", and will convert
-ENOPARAM to 0. This will skip vfs_parse_fs_param_source in vfs_parse_fs_param, which
lead always "none" mount source for ramfs.

Fix it by parsing "source" in ramfs_parse_param like cgroup1_parse_param
does.

Link: https://lkml.kernel.org/r/20210924091756.1906118-1-yangerkun@huawei.comSigned-off-by: default avataryangerkun <yangerkun@huawei.com>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 2d93a583
...@@ -203,17 +203,20 @@ static int ramfs_parse_param(struct fs_context *fc, struct fs_parameter *param) ...@@ -203,17 +203,20 @@ static int ramfs_parse_param(struct fs_context *fc, struct fs_parameter *param)
int opt; int opt;
opt = fs_parse(fc, ramfs_fs_parameters, param, &result); opt = fs_parse(fc, ramfs_fs_parameters, param, &result);
if (opt < 0) { if (opt == -ENOPARAM) {
opt = vfs_parse_fs_param_source(fc, param);
if (opt != -ENOPARAM)
return opt;
/* /*
* We might like to report bad mount options here; * We might like to report bad mount options here;
* but traditionally ramfs has ignored all mount options, * but traditionally ramfs has ignored all mount options,
* and as it is used as a !CONFIG_SHMEM simple substitute * and as it is used as a !CONFIG_SHMEM simple substitute
* for tmpfs, better continue to ignore other mount options. * for tmpfs, better continue to ignore other mount options.
*/ */
if (opt == -ENOPARAM) return 0;
opt = 0;
return opt;
} }
if (opt < 0)
return opt;
switch (opt) { switch (opt) {
case Opt_mode: case Opt_mode:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment