[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20230802154131.2221419-1-hch@lst.de>
Date: Wed, 2 Aug 2023 17:41:19 +0200
From: Christoph Hellwig <hch@....de>
To: Al Viro <viro@...iv.linux.org.uk>,
Christian Brauner <brauner@...nel.org>
Cc: Jan Kara <jack@...e.cz>, Chris Mason <clm@...com>,
Josef Bacik <josef@...icpanda.com>,
David Sterba <dsterba@...e.com>,
"Theodore Ts'o" <tytso@....edu>,
Andreas Dilger <adilger.kernel@...ger.ca>,
Jaegeuk Kim <jaegeuk@...nel.org>, Chao Yu <chao@...nel.org>,
Ryusuke Konishi <konishi.ryusuke@...il.com>,
"Darrick J. Wong" <djwong@...nel.org>,
Jens Axboe <axboe@...nel.dk>, linux-btrfs@...r.kernel.org,
linux-ext4@...r.kernel.org, linux-f2fs-devel@...ts.sourceforge.net,
linux-nilfs@...r.kernel.org, linux-fsdevel@...r.kernel.org,
linux-xfs@...r.kernel.org, linux-block@...r.kernel.org
Subject: more blkdev_get and holder work
Hi all,
this series sits on top of the vfs.super branch in the VFS tree and does a
few closely related things:
1) it also converts nilfs2 and btrfs to the new scheme where the file system
only opens the block devices after we know that a new super_block was
allocated.
2) it then makes sure that for all file system openers the super_block is
stored in bd_holder, and makes use of that fact in the mark_dead method
so that it doesn't have to fall get_super and thus can also work on
block devices that sb->s_bdev doesn't point to
3) it then drops the fs-specific holder ops in ext4 and xfs and uses the
generic fs_holder_ops there
A git tree is available here:
git://git.infradead.org/users/hch/misc.git fs-holder-rework
Gitweb:
http://git.infradead.org/users/hch/misc.git/shortlog/refs/heads/fs-holder-rework
Diffstat:
fs/btrfs/super.c | 67 ++++++++++++++++---------------------
fs/btrfs/volumes.c | 8 ++--
fs/btrfs/volumes.h | 2 -
fs/ext4/super.c | 18 +++-------
fs/f2fs/super.c | 7 +--
fs/nilfs2/super.c | 81 ++++++++++++++++-----------------------------
fs/super.c | 44 ++++++++++++++++++------
fs/xfs/xfs_super.c | 32 +++++++----------
include/linux/blkdev.h | 2 +
include/linux/fs_context.h | 2 +
10 files changed, 126 insertions(+), 137 deletions(-)
Powered by blists - more mailing lists