On Fri, Aug 23, 2019 at 08:59:16AM +0800, Ian Kent wrote: > This patch series adds support to xfs for the new kernel mount API > as described in the LWN article at https://lwn.net/Articles/780267/. > > In the article there's a lengthy description of the reasons for > adopting the API and problems expected to be resolved by using it. > > The series has been applied to the repository located at > git://git.kernel.org/pub/scm/fs/xfs/xfs-linux.git, and built, and > the xfstests suite run against it. > > I didn't see any failures that look like they are related to mounting. I don't think there are any xfstests that test mount option parsing in anger. --D > Changes from the initial posting of the series: > - changed .name to uppercase in fs_parameter_description to ensure > consistent error log messages between the vfs parser and the xfs > parameter parser. > - clearify comment above xfs_parse_param() about when possibly > allocated mp->m_logname or mp->m_rtname are freed. > - factor out xfs_remount_rw() and xfs_remount_ro() from xfs_remount(). > - changed xfs_mount_alloc() to not set super block in xfs_mount so it > can be re-used when switching to the mount-api. > - fixed don't check for NULL when calling kfree() in xfs_fc_free(). > - refactored xfs_parseargs() in an attempt to highlight the code > that actually changes in converting to use the new mount api. > - dropped xfs-mount-api-rename-xfs_fill_super.patch, it didn't seem > necessary. > - move comment about remount difficulties above xfs_reconfigure() > and increase line length to try and make the comment managable. > - add patch vfs-Create-fs_context-aware-mount_bdev-replacement.patch > that adds the vfs_get_block_super() needed by the series. > > The patch "vfs: Create fs_context-aware mount_bdev() replacement" is > currently included in linux-next so there will be conflicts if this > series is merged in the next merge window so please be aware of it. > > --- > > David Howells (1): > vfs: Create fs_context-aware mount_bdev() replacement > > Ian Kent (14): > xfs: mount-api - add fs parameter description > xfs: mount-api - refactor suffix_kstrtoint() > xfs: mount-api - refactor xfs_parseags() > xfs: mount-api - make xfs_parse_param() take context .parse_param() args > xfs: mount-api - move xfs_parseargs() validation to a helper > xfs: mount-api - refactor xfs_fs_fill_super() > xfs: mount-api - add xfs_get_tree() > xfs: mount-api - add xfs_remount_rw() helper > xfs: mount-api - add xfs_remount_ro() helper > xfs: mount api - add xfs_reconfigure() > xfs: mount-api - add xfs_fc_free() > xfs: mount-api - dont set sb in xfs_mount_alloc() > xfs: mount-api - switch to new mount-api > xfs: mount-api - remove legacy mount functions > > > fs/fs_context.c | 2 > fs/super.c | 111 +++++ > fs/xfs/xfs_super.c | 949 ++++++++++++++++++++++++-------------------- > include/linux/fs_context.h | 9 > 4 files changed, 631 insertions(+), 440 deletions(-) > > -- > Ian