Syscalls themselves, finally. That's not all there is to that stuff, but switching individual filesystems to new methods is fortunately independent from everything else, so e.g. NFS series can go through NFS tree, etc. As those conversions get done, we'll be finally able to get rid of a bunch of duplication in fs/super.c introduced in the beginning of the entire thing. I expect that to be finished in the next window... The following changes since commit 9e98c678c2d6ae3a17cb2de55d17f69dddaa231b: Linux 5.1-rc1 (2019-03-17 14:22:26 -0700) are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs.git work.mount-syscalls for you to fetch changes up to f1b5618e013af28b3c78daf424436a79674423c0: vfs: Add a sample program for the new mount API (2019-03-20 18:49:06 -0400) ---------------------------------------------------------------- Al Viro (1): vfs: syscall: Add open_tree(2) to reference or clone a mount David Howells (9): vfs: syscall: Add move_mount(2) to move mounts around teach move_mount(2) to work with OPEN_TREE_CLONE Make anon_inodes unconditional vfs: syscall: Add fsopen() to prepare for superblock creation vfs: Implement logging through fs_context vfs: syscall: Add fsconfig() for configuring and managing a context vfs: syscall: Add fsmount() to create a mount for a superblock vfs: syscall: Add fspick() to select a superblock for reconfiguration vfs: Add a sample program for the new mount API arch/arm/kvm/Kconfig | 1 - arch/arm64/kvm/Kconfig | 1 - arch/mips/kvm/Kconfig | 1 - arch/powerpc/kvm/Kconfig | 1 - arch/s390/kvm/Kconfig | 1 - arch/x86/Kconfig | 1 - arch/x86/entry/syscalls/syscall_32.tbl | 7 +- arch/x86/entry/syscalls/syscall_64.tbl | 6 + arch/x86/kvm/Kconfig | 1 - drivers/base/Kconfig | 1 - drivers/char/tpm/Kconfig | 1 - drivers/dma-buf/Kconfig | 1 - drivers/gpio/Kconfig | 1 - drivers/iio/Kconfig | 1 - drivers/infiniband/Kconfig | 1 - drivers/vfio/Kconfig | 1 - fs/Makefile | 4 +- fs/file_table.c | 9 +- fs/fs_context.c | 160 ++++++++++- fs/fsopen.c | 477 +++++++++++++++++++++++++++++++++ fs/internal.h | 4 + fs/namespace.c | 477 +++++++++++++++++++++++++++++---- fs/notify/fanotify/Kconfig | 1 - fs/notify/inotify/Kconfig | 1 - include/linux/fs.h | 7 +- include/linux/fs_context.h | 38 ++- include/linux/lsm_hooks.h | 6 + include/linux/module.h | 6 + include/linux/security.h | 7 + include/linux/syscalls.h | 9 + include/uapi/linux/fcntl.h | 2 + include/uapi/linux/mount.h | 62 +++++ init/Kconfig | 10 - samples/Kconfig | 9 +- samples/Makefile | 2 +- samples/{statx => vfs}/Makefile | 5 +- samples/vfs/test-fsmount.c | 133 +++++++++ samples/{statx => vfs}/test-statx.c | 11 +- security/security.c | 5 + 39 files changed, 1354 insertions(+), 118 deletions(-) create mode 100644 fs/fsopen.c rename samples/{statx => vfs}/Makefile (55%) create mode 100644 samples/vfs/test-fsmount.c rename samples/{statx => vfs}/test-statx.c (96%)