On Tue, Mar 31, 2026 at 10:45 AM Jaegeuk Kim via Linux-f2fs-devel <[email protected]> wrote: > > The fsparam_string_empty() gives an error when mounting without string, since > its type is set to fsparam_flag in VFS. So, let's allow the flag as well. > > This addresses xfstests/f2fs/015 and f2fs/021. > > Signed-off-by: Jaegeuk Kim <[email protected]> > --- > fs/f2fs/super.c | 27 +++++++++++++++------------ > 1 file changed, 15 insertions(+), 12 deletions(-) > > diff --git a/fs/f2fs/super.c b/fs/f2fs/super.c > index 5330ef981340..aab4345f3ee7 100644 > --- a/fs/f2fs/super.c > +++ b/fs/f2fs/super.c > @@ -337,9 +337,12 @@ static const struct fs_parameter_spec f2fs_param_specs[] > = { > fsparam_flag("usrquota", Opt_usrquota), > fsparam_flag("grpquota", Opt_grpquota), > fsparam_flag("prjquota", Opt_prjquota), > - fsparam_string_empty("usrjquota", Opt_usrjquota), > - fsparam_string_empty("grpjquota", Opt_grpjquota), > - fsparam_string_empty("prjjquota", Opt_prjjquota), > + fsparam_string("usrjquota", Opt_usrjquota), > + fsparam_flag("usrjquota", Opt_usrjquota), > + fsparam_string("grpjquota", Opt_grpjquota), > + fsparam_flag("grpjquota", Opt_grpjquota), > + fsparam_string("prjjquota", Opt_prjjquota), > + fsparam_flag("prjjquota", Opt_prjjquota), > fsparam_flag("nat_bits", Opt_nat_bits), > fsparam_enum("jqfmt", Opt_jqfmt, f2fs_param_jqfmt), > fsparam_enum("alloc_mode", Opt_alloc, f2fs_param_alloc_mode), > @@ -980,26 +983,26 @@ static int f2fs_parse_param(struct fs_context *fc, > struct fs_parameter *param) > ctx_set_opt(ctx, F2FS_MOUNT_PRJQUOTA); > break; > case Opt_usrjquota: > - if (!*param->string) > - ret = f2fs_unnote_qf_name(fc, USRQUOTA); > - else > + if (param->type == fs_value_is_string && *param->string) > ret = f2fs_note_qf_name(fc, USRQUOTA, param); > + else > + ret = f2fs_unnote_qf_name(fc, USRQUOTA); > if (ret) > return ret; > break; > case Opt_grpjquota: > - if (!*param->string) > - ret = f2fs_unnote_qf_name(fc, GRPQUOTA); > - else > + if (param->type == fs_value_is_string && *param->string) > ret = f2fs_note_qf_name(fc, GRPQUOTA, param); > + else > + ret = f2fs_unnote_qf_name(fc, GRPQUOTA); > if (ret) > return ret; > break; > case Opt_prjjquota: > - if (!*param->string) > - ret = f2fs_unnote_qf_name(fc, PRJQUOTA); > - else > + if (param->type == fs_value_is_string && *param->string) > ret = f2fs_note_qf_name(fc, PRJQUOTA, param); > + else > + ret = f2fs_unnote_qf_name(fc, PRJQUOTA); > if (ret) > return ret; > break; > -- > 2.53.0.1118.gaef5881109-goog >
Reviewed-by: Daeho Jeong <[email protected]> > > > _______________________________________________ > Linux-f2fs-devel mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel _______________________________________________ Linux-f2fs-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel
