Since many filesystems have done the new mount API conversion, we introduce the new mount API conversion in f2fs. The series can be applied on top of the current mainline tree and the work is based on the patches from Lukas Czerner (has done this in ext4[1]). His patch give me a lot of ideas. Here is a high level description of the patchset: 1. Prepare the f2fs mount parameters required by the new mount API and use it for parsing, while still using the old API to get mount options string. Split the parameter parsing and validation of the parse_options helper into two separate helpers. f2fs: Add fs parameter specifications for mount options f2fs: move the option parser into handle_mount_opt f2fs: move option validation into a separate helper 2. Remove the use of sb/sbi structure of f2fs from all the parsing code, because with the new mount API the parsing is going to be done before we even get the super block. In this part, we introduce f2fs_fs_context to hold the temporary options when parsing. For the simple options check, it has to be done during parsing by using f2fs_fs_context structure. For the check which needs sb/sbi, we do this during super block filling. f2fs: Allow sbi to be NULL in f2fs_printk f2fs: Add f2fs_fs_context to record the mount options f2fs: separate the options parsing and options checking 3. Switch the f2fs to use the new mount API for mount and remount. f2fs: introduce fs_context_operation structure f2fs: switch to the new mount api 4. Cleanup the old unused structures and helpers. f2fs: remove unused structure and functions There is still a potential to do some cleanups and perhaps refactoring. However that can be done later after the conversion to the new mount API which is the main purpose of the patchset. [1] https://lore.kernel.org/all/20211021114508.21407-1-lczerner@xxxxxxxxxx/ Hongbo Li (9): f2fs: Add fs parameter specifications for mount options f2fs: move the option parser into handle_mount_opt f2fs: move option validation into a separate helper f2fs: Allow sbi to be NULL in f2fs_printk f2fs: Add f2fs_fs_context to record the mount options f2fs: separate the options parsing and options checking f2fs: introduce fs_context_operation structure f2fs: switch to the new mount api f2fs: remove unused structure and functions fs/f2fs/super.c | 2211 ++++++++++++++++++++++++++++------------------- 1 file changed, 1341 insertions(+), 870 deletions(-) -- 2.34.1