diff options
| author | Christoph Hellwig <[email protected]> | 2025-06-11 10:03:00 +0000 |
|---|---|---|
| committer | David Sterba <[email protected]> | 2025-07-21 22:06:19 +0000 |
| commit | 9f43d0ff55e306aed9fa95c79ed372d530471382 (patch) | |
| tree | 0762e77df141be5dac9edc1032bac708cacc81a7 /fs/btrfs/dev-replace.c | |
| parent | btrfs: add assertions to make super block creation more clear (diff) | |
| download | kernel-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
