mbox series

[f2fs-dev,0/9] f2fs: first steps towards mount API conversion

Message ID 20250303172127.298602-1-sandeen@redhat.com (mailing list archive)
Headers show
Series f2fs: first steps towards mount API conversion | expand

Message

Eric Sandeen March 3, 2025, 5:12 p.m. UTC
I have been struggling to get to a good series to convert f2fs to the
new mount API. f2fs is more complex, because much of the option parsing
assumes that the superblock has already been read from disk, and uses
that to test various on-disk features, etc. All of those tests will need
to be moved to after parsing is complete, and this series is just a
start.

The first two patches in this series are incidental, just things I
noticed when working on this. They are not critical to the conversion,
but they may be desirable anyway.

The rest of the patches move towards removal of explicit references to
*sb in parse_options(), using *sbi instead. (The full conversion may use
a private context structure instead of *sbi, since the *sbi is rather
large.)

It's up to you if you want to merge these now or not, but I thought I'd
share the direction I was moving, to get some feedback about whether
this seems to make sense. Next steps would be moving more of the feature
checks to later in the mount process, after parsing is complete.

This has been tested with random combinations of valid and invalid mount
options, but it has not been tested with a wide range of on-disk
features. My testing did not turn up any differences in behavior.
(I also did explicit testing of direct mount syscalls with "lazytime" as
an option string, keeping in mind the earlier regression there.)

Thanks,
-Eric

Comments

patchwork-bot+f2fs--- via Linux-f2fs-devel March 13, 2025, 6:20 p.m. UTC | #1
Hello:

This series was applied to jaegeuk/f2fs.git (dev)
by Jaegeuk Kim <jaegeuk@kernel.org>:

On Mon,  3 Mar 2025 11:12:10 -0600 you wrote:
> I have been struggling to get to a good series to convert f2fs to the
> new mount API. f2fs is more complex, because much of the option parsing
> assumes that the superblock has already been read from disk, and uses
> that to test various on-disk features, etc. All of those tests will need
> to be moved to after parsing is complete, and this series is just a
> start.
> 
> [...]

Here is the summary with links:
  - [f2fs-dev,1/9] f2fs: use f2fs_sb_has_device_alias during option parsing
    https://git.kernel.org/jaegeuk/f2fs/c/64ee7503cbf6
  - [f2fs-dev,2/9] f2fs: consolidate unsupported option handling errors
    https://git.kernel.org/jaegeuk/f2fs/c/277352b6cbed
  - [f2fs-dev,3/9] f2fs: factor out an f2fs_default_check function
    https://git.kernel.org/jaegeuk/f2fs/c/abd0e040e9a5
  - [f2fs-dev,4/9] f2fs: make INLINECRYPT a mount option flag
    (no matching commit)
  - [f2fs-dev,5/9] f2fs: make LAZYTIME a mount option flag
    (no matching commit)
  - [f2fs-dev,6/9] f2fs: Pass sbi rather than sb to f2fs_set_test_dummy_encryption
    https://git.kernel.org/jaegeuk/f2fs/c/0edcb2197e76
  - [f2fs-dev,7/9] f2fs: defer readonly check vs norecovery
    https://git.kernel.org/jaegeuk/f2fs/c/9cca49875997
  - [f2fs-dev,8/9] f2fs: pass sbi rather than sb to quota qf_name helpers
    https://git.kernel.org/jaegeuk/f2fs/c/b7de231b9df4
  - [f2fs-dev,9/9] f2fs: pass sbi rather than sb to parse_options()
    https://git.kernel.org/jaegeuk/f2fs/c/71e9bd3d5c04

You are awesome, thank you!