[RFC PATCH 00/68] VFS: Convert a bunch of filesystems to the new mount API
David Howells
dhowells at redhat.com
Wed Mar 27 23:40:00 UTC 2019
Hi Al,
Here's a set of patches that converts a bunch (but not yet all!) to the new
mount API. To this end, it makes the following changes:
(1) Provides a convenience member in struct fs_context that is OR'd into
sb->s_iflags by sget_fc().
(2) Provides a convenience helper function, vfs_init_pseudo_fs_context(),
for doing most of the work in mounting a pseudo filesystem.
(3) Provides a convenience helper function, vfs_get_block_super(), for
doing the work in setting up a block-based superblock.
(4) Improves the handling of fd-type parameters.
(5) Moves some of the subtype handling int fuse.
(6) Provides a convenience helper function, vfs_get_mtd_super(), for
doing the work in setting up an MTD device-based superblock.
(7) Kills off mount_pseudo(), mount_pseudo_xattr(), mount_ns(),
sget_userns(), mount_mtd(), mount_single().
(8) Converts a slew of filesystems to use the mount API.
(9) Fixes a bug in hypfs.
The patches can be found here also:
https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git
on branch:
mount-api-viro
David
---
Andrew Price (1):
gfs2: Convert gfs2 to fs_context
David Howells (66):
vfs: Update mount API docs
vfs: Fix refcounting of filenames in fs_parser
vfs: Provide sb->s_iflags settings in fs_context struct
vfs: Provide a mount_pseudo-replacement for the new mount API
vfs: Convert aio to use the new mount API
vfs: Convert anon_inodes to use the new mount API
vfs: Convert bdev to use the new mount API
vfs: Convert nsfs to use the new mount API
vfs: Convert pipe to use the new mount API
vfs: Convert zsmalloc to use the new mount API
vfs: Convert sockfs to use the new mount API
vfs: Convert dax to use the new mount API
vfs: Convert drm to use the new mount API
vfs: Convert ia64 perfmon to use the new mount API
vfs: Convert cxl to use the new mount API
vfs: Convert ocxlflash to use the new mount API
vfs: Convert virtio_balloon to use the new mount API
vfs: Convert btrfs_test to use the new mount API
vfs: Kill off mount_pseudo() and mount_pseudo_xattr()
vfs: Use sget_fc() for pseudo-filesystems
vfs: Convert binderfs to use the new mount API
vfs: Convert nfsctl to use the new mount API
vfs: Convert rpc_pipefs to use the new mount API
vfs: Kill mount_ns()
vfs: Kill sget_userns()
vfs: Convert binfmt_misc to use the new mount API
vfs: Convert configfs to use the new mount API
vfs: Convert efivarfs to use the new mount API
vfs: Convert fusectl to use the new mount API
vfs: Convert qib_fs/ipathfs to use the new mount API
vfs: Convert ibmasmfs to use the new mount API
vfs: Convert oprofilefs to use the new mount API
vfs: Convert gadgetfs to use the new mount API
vfs: Convert xenfs to use the new mount API
vfs: Convert openpromfs to use the new mount API
vfs: Convert apparmorfs to use the new mount API
vfs: Convert securityfs to use the new mount API
vfs: Convert selinuxfs to use the new mount API
vfs: Convert smackfs to use the new mount API
vfs: Convert ramfs, shmem, tmpfs, devtmpfs, rootfs to use the new mount API
vfs: Create fs_context-aware mount_bdev() replacement
vfs: Make fs_parse() handle fs_param_is_fd-type params better
vfs: Convert fuse to use the new mount API
vfs: Move the subtype parameter into fuse
mtd: Provide fs_context-aware mount_mtd() replacement
vfs: Convert romfs to use the new mount API
vfs: Convert cramfs to use the new mount API
vfs: Convert jffs2 to use the new mount API
mtd: Kill mount_mtd()
vfs: Convert squashfs to use the new mount API
vfs: Convert ceph to use the new mount API
vfs: Convert functionfs to use the new mount API
vfs: Add a single-or-reconfig keying to vfs_get_super()
vfs: Convert debugfs to use the new mount API
vfs: Convert tracefs to use the new mount API
vfs: Convert pstore to use the new mount API
hypfs: Fix error number left in struct pointer member
vfs: Convert hypfs to use the new mount API
vfs: Convert spufs to use the new mount API
vfs: Kill mount_single()
vfs: Convert coda to use the new mount API
vfs: Convert autofs to use the new mount API
vfs: Convert devpts to use the new mount API
vfs: Convert bpf to use the new mount API
vfs: Convert ubifs to use the new mount API
vfs: Convert orangefs to use the new mount API
Masahiro Yamada (1):
kbuild: skip sub-make for in-tree build with GNU Make 4.x
Documentation/filesystems/mount_api.txt | 367 ++++++++-------
Documentation/filesystems/vfs.txt | 4
Makefile | 31 +
arch/ia64/kernel/perfmon.c | 14 -
arch/powerpc/platforms/cell/spufs/inode.c | 207 +++++----
arch/s390/hypfs/inode.c | 137 +++---
drivers/android/binderfs.c | 173 ++++---
drivers/base/devtmpfs.c | 16 -
drivers/block/rbd.c | 363 ++++++++-------
drivers/dax/super.c | 13 -
drivers/gpu/drm/drm_drv.c | 14 -
drivers/infiniband/hw/qib/qib_fs.c | 26 +
drivers/misc/cxl/api.c | 10
drivers/misc/ibmasm/ibmasmfs.c | 21 +
drivers/mtd/mtdcore.h | 1
drivers/mtd/mtdsuper.c | 181 ++++----
drivers/oprofile/oprofilefs.c | 20 +
drivers/scsi/cxlflash/ocxl_hw.c | 21 -
drivers/usb/gadget/function/f_fs.c | 233 +++++-----
drivers/usb/gadget/legacy/inode.c | 21 +
drivers/virtio/virtio_balloon.c | 19 -
drivers/xen/xenfs/super.c | 21 +
fs/aio.c | 15 -
fs/anon_inodes.c | 12
fs/autofs/autofs_i.h | 13 -
fs/autofs/init.c | 9
fs/autofs/inode.c | 429 ++++++++++--------
fs/binfmt_misc.c | 20 +
fs/block_dev.c | 14 -
fs/btrfs/tests/btrfs-tests.c | 13 -
fs/ceph/cache.c | 9
fs/ceph/cache.h | 5
fs/ceph/super.c | 697 ++++++++++++++---------------
fs/ceph/super.h | 1
fs/coda/inode.c | 171 +++++--
fs/configfs/mount.c | 20 +
fs/cramfs/inode.c | 69 ++-
fs/debugfs/inode.c | 186 ++++----
fs/devpts/inode.c | 265 +++++------
fs/efivarfs/super.c | 20 +
fs/fs_context.c | 16 -
fs/fs_parser.c | 18 +
fs/fuse/control.c | 20 +
fs/fuse/inode.c | 291 +++++++-----
fs/gfs2/incore.h | 8
fs/gfs2/ops_fstype.c | 495 ++++++++++++++++-----
fs/gfs2/super.c | 335 --------------
fs/gfs2/super.h | 3
fs/jffs2/fs.c | 21 -
fs/jffs2/os-linux.h | 4
fs/jffs2/super.c | 172 +++----
fs/libfs.c | 91 +++-
fs/nfsd/nfsctl.c | 33 +
fs/nsfs.c | 13 -
fs/openpromfs/inode.c | 20 +
fs/orangefs/orangefs-kernel.h | 8
fs/orangefs/orangefs-mod.c | 3
fs/orangefs/super.c | 186 ++++----
fs/pipe.c | 12
fs/pstore/inode.c | 109 +++--
fs/ramfs/inode.c | 104 +++-
fs/romfs/super.c | 46 +-
fs/squashfs/super.c | 100 ++--
fs/super.c | 301 ++++++-------
fs/tracefs/inode.c | 180 +++----
fs/ubifs/super.c | 447 ++++++++-----------
include/linux/ceph/ceph_debug.h | 1
include/linux/ceph/libceph.h | 17 +
include/linux/fs.h | 24 -
include/linux/fs_context.h | 20 +
include/linux/mtd/super.h | 6
include/linux/ramfs.h | 6
include/linux/shmem_fs.h | 4
init/do_mounts.c | 12
kernel/bpf/inode.c | 92 ++--
mm/shmem.c | 396 +++++++++++-----
mm/zsmalloc.c | 19 -
net/ceph/ceph_common.c | 410 +++++++----------
net/socket.c | 14 -
net/sunrpc/rpc_pipe.c | 34 +
security/apparmor/apparmorfs.c | 20 +
security/inode.c | 21 +
security/selinux/selinuxfs.c | 20 +
security/smack/smackfs.c | 34 +
84 files changed, 4257 insertions(+), 3810 deletions(-)
More information about the dri-devel
mailing list