I was working on next steps for this, and I have a followup question.

Today, several mount options are simply ignored if the on-disk format
does not support them. For example:

                case Opt_compress_mode:
                        if (!f2fs_sb_has_compression(sbi)) {
                                f2fs_info(sbi, "Image doesn't support 
compression");
                                break;
                        }
                        name = match_strdup(&args[0]);
                        if (!name)
                                return -ENOMEM;
                        if (!strcmp(name, "fs")) {
                                F2FS_OPTION(sbi).compress_mode = COMPR_MODE_FS;
                        } else if (!strcmp(name, "user")) {
                                F2FS_OPTION(sbi).compress_mode = 
COMPR_MODE_USER;
                        } else {
                                kfree(name);
                                return -EINVAL;
                        }
                        kfree(name);
                        break;

so if f2fs_sb_has_compression() is not true, then the option is ignored without
any validation.

in other words, "mount -o compress_mode=nope ..." will succeed if the feature
is disabled on the filesystem.

If I move the f2fs_sb_has_compression() check to later for the new mount API,
then "mount -o compress_mode=nope ..."  will start failing for all images. Is
this acceptable? It seems wise to reject invalid options rather than ignore 
them,
even if they are incompatible with the format, but this would be a behavior
change.

The above would be simple enough to defer (maybe set to COMPR_MODE_INVAL and
reject it later) but I think other options such as compress/nocompress 
extensions
would be very messy to approach as "accept all options given during parsing,
and validate them later only if the corresponding feature is present."

So I wonder if a behavior change (stricter option validation) would be
acceptable here?

Thanks,
-Eric



_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

Reply via email to