remove get_super
- To: Al Viro <viro@zeniv.linux.org.uk>, Christian Brauner <brauner@kernel.org>
- Cc: Jens Axboe <axboe@kernel.dk>, Denis Efremov <efremov@linux.com>, Josef Bacik <josef@toxicpanda.com>, Stefan Haberland <sth@linux.ibm.com>, Jan Hoeppner <hoeppner@linux.ibm.com>, Heiko Carstens <hca@linux.ibm.com>, Vasily Gorbik <gor@linux.ibm.com>, Alexander Gordeev <agordeev@linux.ibm.com>, "Darrick J . Wong" <djwong@kernel.org>, Chris Mason <clm@fb.com>, David Sterba <dsterba@suse.com>, linux-block@vger.kernel.org, nbd@other.debian.org, linux-s390@vger.kernel.org, linux-btrfs@vger.kernel.org, linux-fsdevel@vger.kernel.org
- Subject: remove get_super
- From: Christoph Hellwig <hch@lst.de>
- Date: Fri, 11 Aug 2023 12:08:11 +0200
- Message-id: <[🔎] 20230811100828.1897174-1-hch@lst.de>
Hi all,
this series against the VFS vfs.super branch finishes off the work to remove
get_super and move (almost) all upcalls to use the holder ops.
The first part is the missing btrfs bits so that all file systems use the
super_block as holder.
The second part is various block driver cleanups so that we use proper
interfaces instead of raw calls to __invalidate_device and fsync_bdev.
The last part than replaces __invalidate_device and fsync_bdev with upcalls
to the file system through the holder ops, and finally removes get_super.
It leaves user_get_super and get_active_super around. The former is not
used for upcalls in the traditional sense, but for legacy UAPI that for
some weird reason take a dev_t argument (ustat) or a block device path
(quotactl). get_active_super is only used for calling into the file system
on freeze and should get a similar treatment, but given that Darrick has
changes to that code queued up already this will be handled in the next
merge window.
A git tree is available here:
git://git.infradead.org/users/hch/misc.git remove-get_super
Gitweb:
http://git.infradead.org/users/hch/misc.git/shortlog/refs/heads/remove-get_super
Diffstat:
block/bdev.c | 61 ++++++++++++++++++++-------------------------
block/disk-events.c | 23 ++++-------------
block/genhd.c | 45 +++++++++++++++++----------------
block/ioctl.c | 9 +++++-
block/partitions/core.c | 5 ---
drivers/block/amiflop.c | 1
drivers/block/floppy.c | 2 -
drivers/block/loop.c | 6 ++--
drivers/block/nbd.c | 8 ++---
drivers/s390/block/dasd.c | 7 +----
fs/btrfs/disk-io.c | 4 +-
fs/btrfs/super.c | 59 ++++++++++++++++++++++---------------------
fs/btrfs/volumes.c | 58 ++++++++++++++++++++++---------------------
fs/btrfs/volumes.h | 8 +++--
fs/inode.c | 16 +----------
fs/internal.h | 2 -
fs/super.c | 62 +++++++++++++++-------------------------------
include/linux/blkdev.h | 13 +++++----
include/linux/fs.h | 1
19 files changed, 175 insertions(+), 215 deletions(-)
Reply to: