split up ->kill_sb

From: Christoph Hellwig
Date: Wed Sep 13 2023 - 07:10:54 EST


Hi Al and Christian,

this series splits ->kill_sb into separate ->shutdown_sb and ->free_sb
methods and then calls generic_shutdown_super from common code to clean
up the file system shutdown interface.

As a first step towards that it moves allocating and freeing the
anonymous block device dev_t into common code. As every super_block must
have a valid s_dev it makes sense to just do that if the file system
didn't set one by itself, and we can also detect if one was assigned
easily when shutting down.

A git tree is available here:

git://git.infradead.org/users/hch/misc.git fs-kill_sb

Gitweb:

http://git.infradead.org/users/hch/misc.git/shortlog/refs/heads/fs-kill_sb

Diffstat:
Documentation/filesystems/locking.rst | 9 -
Documentation/filesystems/vfs.rst | 15 ++
arch/powerpc/platforms/cell/spufs/inode.c | 10 -
arch/s390/hypfs/inode.c | 43 --------
arch/x86/kernel/cpu/resctrl/rdtgroup.c | 7 -
block/bdev.c | 1
drivers/android/binderfs.c | 12 --
drivers/base/devtmpfs.c | 8 -
drivers/dax/super.c | 1
drivers/dma-buf/dma-buf.c | 1
drivers/gpu/drm/drm_drv.c | 1
drivers/infiniband/hw/qib/qib.h | 4
drivers/infiniband/hw/qib/qib_fs.c | 105 ++++---------------
drivers/infiniband/hw/qib/qib_init.c | 32 ++----
drivers/misc/cxl/api.c | 1
drivers/misc/ibmasm/ibmasmfs.c | 8 -
drivers/mtd/mtdsuper.c | 12 --
drivers/scsi/cxlflash/ocxl_hw.c | 1
drivers/usb/gadget/function/f_fs.c | 6 -
drivers/usb/gadget/legacy/inode.c | 18 +--
drivers/xen/xenfs/super.c | 8 -
fs/9p/vfs_super.c | 16 ---
fs/adfs/super.c | 2
fs/affs/super.c | 7 -
fs/afs/super.c | 27 ++---
fs/aio.c | 1
fs/anon_inodes.c | 1
fs/autofs/autofs_i.h | 3
fs/autofs/init.c | 3
fs/autofs/inode.c | 24 ++--
fs/befs/linuxvfs.c | 2
fs/bfs/inode.c | 2
fs/binfmt_misc.c | 8 -
fs/btrfs/super.c | 16 +--
fs/btrfs/tests/btrfs-tests.c | 1
fs/ceph/super.c | 20 +--
fs/coda/inode.c | 1
fs/configfs/mount.c | 8 -
fs/cramfs/inode.c | 6 -
fs/debugfs/inode.c | 8 -
fs/devpts/inode.c | 6 -
fs/ecryptfs/main.c | 14 --
fs/efivarfs/super.c | 13 +-
fs/efs/super.c | 7 -
fs/erofs/super.c | 25 +---
fs/exfat/super.c | 6 -
fs/ext2/super.c | 2
fs/ext4/super.c | 12 +-
fs/f2fs/super.c | 6 -
fs/fat/namei_msdos.c | 2
fs/fat/namei_vfat.c | 2
fs/freevxfs/vxfs_super.c | 2
fs/fuse/control.c | 12 +-
fs/fuse/inode.c | 19 +--
fs/fuse/virtio_fs.c | 21 ++-
fs/gfs2/ops_fstype.c | 11 --
fs/hfs/super.c | 2
fs/hfsplus/super.c | 2
fs/hostfs/hostfs_kern.c | 5
fs/hpfs/super.c | 2
fs/hugetlbfs/inode.c | 2
fs/isofs/inode.c | 2
fs/jffs2/super.c | 22 ++--
fs/jfs/super.c | 2
fs/kernfs/mount.c | 20 +--
fs/minix/inode.c | 2
fs/nfs/client.c | 2
fs/nfs/fs_context.c | 19 +++
fs/nfs/internal.h | 1
fs/nfs/nfs4proc.c | 8 -
fs/nfs/nfs4trace.h | 6 -
fs/nfs/nfs4xdr.c | 2
fs/nfs/super.c | 26 ----
fs/nfs/sysfs.h | 2
fs/nfsd/nfsctl.c | 22 ++--
fs/nilfs2/super.c | 2
fs/nsfs.c | 1
fs/ntfs/super.c | 2
fs/ntfs3/super.c | 6 -
fs/ocfs2/dlmfs/dlmfs.c | 2
fs/ocfs2/super.c | 2
fs/omfs/inode.c | 2
fs/openpromfs/inode.c | 1
fs/orangefs/orangefs-kernel.h | 2
fs/orangefs/orangefs-mod.c | 2
fs/orangefs/super.c | 13 --
fs/overlayfs/super.c | 1
fs/pipe.c | 1
fs/proc/root.c | 16 +--
fs/pstore/inode.c | 8 -
fs/qnx4/inode.c | 7 -
fs/qnx6/inode.c | 2
fs/ramfs/inode.c | 6 -
fs/reiserfs/super.c | 7 -
fs/romfs/super.c | 6 -
fs/smb/client/cifsfs.c | 17 ++-
fs/squashfs/super.c | 2
fs/super.c | 159 ++++++++++++++++--------------
fs/sysfs/mount.c | 7 -
fs/sysv/super.c | 4
fs/tracefs/inode.c | 2
fs/ubifs/super.c | 10 -
fs/udf/super.c | 2
fs/ufs/super.c | 2
fs/vboxsf/super.c | 1
fs/xfs/xfs_buf.c | 2
fs/xfs/xfs_super.c | 6 -
fs/zonefs/super.c | 34 ++----
include/linux/fs.h | 11 --
include/linux/kernfs.h | 5
include/linux/mtd/super.h | 2
include/linux/nfs_fs_sb.h | 1
include/linux/ramfs.h | 2
init/do_mounts.c | 6 -
ipc/mqueue.c | 2
kernel/bpf/inode.c | 2
kernel/cgroup/cgroup.c | 10 +
kernel/resource.c | 1
mm/secretmem.c | 1
mm/shmem.c | 5
net/socket.c | 1
net/sunrpc/rpc_pipe.c | 19 ++-
security/apparmor/apparmorfs.c | 1
security/inode.c | 8 -
security/selinux/selinuxfs.c | 15 --
security/smack/smackfs.c | 6 -
126 files changed, 524 insertions(+), 679 deletions(-)