Re: [PATCH v4 00/13] ext4: new mount API conversion

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Oct 27, 2021 at 11:27 PM Lukas Czerner <lczerner@xxxxxxxxxx> wrote:
>
> After some time I am once again resurrecting the patchset to convert the
> ext4 to use the new mount API
> (Documentation/filesystems/mount_api.txt).
>
> The series can be applied on top of the current mainline tree and the work
> is based on the patches from David Howells (thank you David). It was built
> and tested with xfstests and a new ext4 mount options regression test that
> was sent to the fstests list. You can check it out on github as well.
>
> https://github.com/lczerner/xfstests/tree/ext4_mount_test
>
> Here is a high level description of the patchset
>
> 1. Prepare the ext4 mount parameters required by the new mount API and use
>    it for parsing, while still using the old API to get the options
>    string.
>
>   fs_parse: allow parameter value to be empty
>   ext4: Add fs parameter specifications for mount options
>   ext4: move option validation to a separate function
>   ext4: Change handle_mount_opt() to use fs_parameter
>
> 2. Remove the use of ext4 super block 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.
>
>   ext4: Allow sb to be NULL in ext4_msg()
>   ext4: move quota configuration out of handle_mount_opt()
>   ext4: check ext2/3 compatibility outside handle_mount_opt()
>   ext4: get rid of super block and sbi from handle_mount_ops()
>
> 3. Actually finish the separation of the parsing and super block setup
>    into distinct steps. This is where the new ext4_fill_super() and
>    ext4_remount() functions are created temporarily before the actual
>    transition to the new API.
>
>   ext4: Completely separate options parsing and sb setup
>
> 4. Make some last preparations and actually switch the ext4 to use the
>    new mount API.
>
>   ext4: clean up return values in handle_mount_opt()
>   ext4: change token2str() to use ext4_param_specs
>   ext4: switch to the new mount api
>
> 5. Cleanup the old unused structures and rearrange the parsing function.
>
>   ext4: Remove unused match_table_t tokens
>
> There is still a potential to do some cleanups and perhaps refactoring
> such as using the fsparam_flag_no to remove the separate negative
> options for example. However that can be done later after the conversion
> to the new mount API which is the main purpose of the patchset.
>
> Signed-off-by: Lukas Czerner <lczerner@xxxxxxxxxx>
> Reviewed-by: Carlos Maiolino <cmaiolino@xxxxxxxxxx>
> ---

Is this the Git branch to pull from...?

https://github.com/lczerner/linux/tree/ext4_mount_api_rebase
https://github.com/lczerner/linux/commits/ext4_mount_api_rebase

Any other requirements or recommendations other than "ext4: ext4 mount
sanity test" (xfstests)?

Thanks.

- Sedat -

> v3 -> v4: Fix some typos, print exact quotafile type in log messages.
>           Remove explicit "Ext4:" from some log messages
> V2 -> V3: Rebase to the newer kernel, including new mount options.
> V1 -> V2: Rebase to the newer kernel
>
> Lukas Czerner (13):
>   fs_parse: allow parameter value to be empty
>   ext4: Add fs parameter specifications for mount options
>   ext4: move option validation to a separate function
>   ext4: Change handle_mount_opt() to use fs_parameter
>   ext4: Allow sb to be NULL in ext4_msg()
>   ext4: move quota configuration out of handle_mount_opt()
>   ext4: check ext2/3 compatibility outside handle_mount_opt()
>   ext4: get rid of super block and sbi from handle_mount_ops()
>   ext4: Completely separate options parsing and sb setup
>   ext4: clean up return values in handle_mount_opt()
>   ext4: change token2str() to use ext4_param_specs
>   ext4: switch to the new mount api
>   ext4: Remove unused match_table_t tokens
>
>  fs/ext4/super.c           | 1848 +++++++++++++++++++++++--------------
>  fs/fs_parser.c            |   31 +-
>  include/linux/fs_parser.h |    2 +-
>  3 files changed, 1189 insertions(+), 692 deletions(-)
>
> --
> 2.31.1
>



[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [NTFS 3]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [NTFS 3]     [Samba]     [Device Mapper]     [CEPH Development]

  Powered by Linux