Skip to content

ext4: new mount API conversion

Lukas Czerner linux-ext4 linux-fsdevel 2 versions – Applied

Status from this message: Applied, thanks!

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v4 Latest13 patches 8 repliesApplied
  2. v313 patches 11 repliesSuperseded

Patches in v4 Applied

#Subject and filesSizeRepliesApplied
1/13fs_parse: allow parameter value to be emptyfs/fs_parser.c include/linux/fs_parser.h+24 -92 replies
2/13ext4: Add fs parameter specifications for mount optionsfs/ext4/super.c+151 -00 replies
3/13ext4: move option validation to a separate functionfs/ext4/super.c+9 -20 replies
4/13ext4: Change handle_mount_opt() to use fs_parameterfs/ext4/super.c+143 -1070 replies
5/13ext4: Allow sb to be NULL in ext4_msg()fs/ext4/super.c+78 -660 replies
6/13ext4: move quota configuration out of handle_mount_opt()fs/ext4/super.c+165 -930 replies
7/13ext4: check ext2/3 compatibility outside handle_mount_opt()fs/ext4/super.c+25 -160 replies
8/13ext4: get rid of super block and sbi from handle_mount_ops()fs/ext4/super.c+368 -1730 replies
9/13ext4: Completely separate options parsing and sb setupfs/ext4/super.c+264 -1350 replies
10/13ext4: clean up return values in handle_mount_opt()fs/ext4/super.c+17 -110 replies
11/13ext4: change token2str() to use ext4_param_specsfs/ext4/super.c+4 -40 replies
12/13ext4: switch to the new mount apifs/ext4/super.c+86 -1090 replies
13/13ext4: Remove unused match_table_t tokensfs/ext4/super.c+131 -2430 replies

Reviews trailers per patch

All 13 patches have a Reviewed-by or Acked-by of their own; the series has one for all of them.

PatchCarlos Maiolino
SeriesR-b
1/13R-b
2/13R-b
3/13R-b
4/13R-b
5/13R-b
6/13R-b
7/13R-b
8/13R-b
9/13R-b
10/13R-b
11/13R-b
12/13R-b
13/13R-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v4 thread

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

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.

---
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(-)
Signature · 1 line
2.31.1