Message ID | 20230809220545.1308228-2-hch@lst.de (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [01/13] xfs: reformat the xfs_fs_free prototype | expand |
On Wed, 09 Aug 2023 15:05:33 -0700, Christoph Hellwig wrote: > The xfs_fs_free prototype formatting is a weird mix of the classic XFS > style and the Linux style. Fix it up to be consistent. > > I've completely reshuffled that branch now: (1) bd_super removal (2) ->kill_sb() fixes (3) setup_bdev_super() work (open devices after sb creation) (4) fs_holder_ops rework (5) exclusive sb creation I think that's the most natural order. That involved quite a bit of massaging, so please make sure that everything's in proper order. The most sensitive and error prone part of the reordering is that before the switch from fs_type to sb as holder took place prior to this series. Whereas due to the reordering the switch now takes place after this series. This is good though because we can't use setup_bdev_super() correctly anyway before we have the ->kill_sb() changes done. git rebase -i v6.5-rc1 -x "make fs/" builds cleanly. Please double check! --- Applied to the vfs.super branch of the vfs/vfs.git tree. Patches in the vfs.super branch should appear in linux-next soon. Please report any outstanding bugs that were missed during review in a new review to the original patch series allowing us to drop it. It's encouraged to provide Acked-bys and Reviewed-bys even though the patch has now been applied. If possible patch trailers will be updated. Note that commit hashes shown below are subject to change due to rebase, trailer updates or similar. If in doubt, please check the listed branch. tree: https://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs.git branch: vfs.super [01/13] xfs: reformat the xfs_fs_free prototype https://git.kernel.org/vfs/vfs/c/183f60c58f51 [02/13] xfs: remove a superfluous s_fs_info NULL check in xfs_fs_put_super https://git.kernel.org/vfs/vfs/c/94d1bb71d395 [03/13] xfs: free the xfs_mount in ->kill_sb https://git.kernel.org/vfs/vfs/c/b92fea73ce6a [04/13] xfs: remove xfs_blkdev_put https://git.kernel.org/vfs/vfs/c/3b6c117834c2 [05/13] xfs: close the RT and log block devices in xfs_free_buftarg https://git.kernel.org/vfs/vfs/c/6d4e81f94e80 [06/13] xfs: close the external block devices in xfs_mount_free https://git.kernel.org/vfs/vfs/c/bfeb8750e6fe [07/13] xfs: document the invalidate_bdev call in invalidate_bdev https://git.kernel.org/vfs/vfs/c/e4676171bad6 [08/13] ext4: close the external journal device in ->kill_sb https://git.kernel.org/vfs/vfs/c/e1a1b0fba97b [09/13] exfat: don't RCU-free the sbi https://git.kernel.org/vfs/vfs/c/6a3f5dee46f6 [10/13] exfat: free the sbi and iocharset in ->kill_sb https://git.kernel.org/vfs/vfs/c/cc0313e8135e [11/13] ntfs3: rename put_ntfs ntfs3_free_sbi https://git.kernel.org/vfs/vfs/c/34371bb44afc [12/13] ntfs3: don't call sync_blockdev in ntfs_put_super https://git.kernel.org/vfs/vfs/c/91952e99005b [13/13] ntfs3: free the sbi in ->kill_sb https://git.kernel.org/vfs/vfs/c/5fb25fde7dee
I think the btrfs hunk (below) in "fs: use the super_block as holder when mounting file systems" needs to be dropped, as we dropped the prep patch that allows to use the sb as a holder for now. I'll add it to my resend of the btrfs conversion. diff --git a/fs/btrfs/super.c b/fs/btrfs/super.c index f1dd172d8d5bd7..d58ace4c1d2962 100644 --- a/fs/btrfs/super.c +++ b/fs/btrfs/super.c @@ -69,8 +69,6 @@ static const struct super_operations btrfs_super_ops; * requested by subvol=/path. That way the callchain is straightforward and we * don't have to play tricks with the mount options and recursive calls to * btrfs_mount. - * - * The new btrfs_root_fs_type also servers as a tag for the bdev_holder. */ static struct file_system_type btrfs_fs_type; static struct file_system_type btrfs_root_fs_type; @@ -1515,7 +1513,7 @@ static struct dentry *btrfs_mount_root(struct file_system_type *fs_type, snprintf(s->s_id, sizeof(s->s_id), "%pg", bdev); shrinker_debugfs_rename(&s->s_shrink, "sb-%s:%s", fs_type->name, s->s_id); - btrfs_sb(s)->bdev_holder = fs_type; + fs_info->bdev_holder = s; error = btrfs_fill_super(s, fs_devices, data); } if (!error)
On Thu, Aug 10, 2023 at 05:51:16PM +0200, Christoph Hellwig wrote: > I think the btrfs hunk (below) in "fs: use the super_block as holder when > mounting file systems" needs to be dropped, as we dropped the prep patch Ah yes, thanks! > that allows to use the sb as a holder for now. I'll add it to my resend > of the btrfs conversion. Dropped.
diff --git a/fs/xfs/xfs_super.c b/fs/xfs/xfs_super.c index bf6e0a261a49e6..0a294659c18972 100644 --- a/fs/xfs/xfs_super.c +++ b/fs/xfs/xfs_super.c @@ -1933,7 +1933,8 @@ xfs_fs_reconfigure( return 0; } -static void xfs_fs_free( +static void +xfs_fs_free( struct fs_context *fc) { struct xfs_mount *mp = fc->s_fs_info;