[git pull] vfs.git next bits of mount ABI stuff (syscalls, this time)

From: Al Viro
Date: Tue May 07 2019 - 16:50:19 EST


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%)