aboutsummaryrefslogtreecommitdiffstats
path: root/fs/btrfs/dev-replace.c
diff options
context:
space:
mode:
authorChristoph Hellwig <[email protected]>2025-06-11 10:03:00 +0000
committerDavid Sterba <[email protected]>2025-07-21 22:06:19 +0000
commit9f43d0ff55e306aed9fa95c79ed372d530471382 (patch)
tree0762e77df141be5dac9edc1032bac708cacc81a7 /fs/btrfs/dev-replace.c
parentbtrfs: add assertions to make super block creation more clear (diff)
downloadkernel-9f43d0ff55e306aed9fa95c79ed372d530471382.tar.gz
kernel-9f43d0ff55e306aed9fa95c79ed372d530471382.zip
btrfs: call btrfs_close_devices() from ->kill_sb
Although btrfs is not yet implementing blk_holder_ops, there is a requirement for proper blk_holder_ops: - blkdev_put() must not be called under sb->s_umount The blkdev_put()/bdev_fput() must not be called under sb->s_umount to avoid lock order reversal with disk->open_mutex. This is for the proper blk_holder_ops callbacks. Currently we're fine because we call regular fput() which defers the blk holder reclaiming. To prepare for the future of blk_holder_ops, move the btrfs_close_devices() calls into btrfs_free_fs_info(). That will be called from kill_sb() callbacks, which is also called for error handing during mount failures, or there is already an existing super block. Signed-off-by: Christoph Hellwig <[email protected]> Signed-off-by: Qu Wenruo <[email protected]> Signed-off-by: David Sterba <[email protected]>
Diffstat (limited to 'fs/btrfs/dev-replace.c')
0 files changed, 0 insertions, 0 deletions