btrfs: move btrfs_rm_dev_replace_free_srcdev outside of all locks
When closing and freeing the source device we could end up doing our final blkdev_put() on the bdev, which will grab the bd_mutex. As such we want to be holding as few locks as possible, so move this call outside of the dev_replace->lock_finishing_cancel_unmount lock. Since we're modifying the fs_devices we need to make sure we're holding the uuid_mutex here, so take that as well. Signed-off-by: Josef Bacik <josef@toxicpanda.com> Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
Родитель
68abf36016
Коммит
62cf539120
|
@ -2216,7 +2216,6 @@ void btrfs_rm_dev_replace_remove_srcdev(struct btrfs_device *srcdev)
|
|||
|
||||
void btrfs_rm_dev_replace_free_srcdev(struct btrfs_device *srcdev)
|
||||
{
|
||||
struct btrfs_fs_info *fs_info = srcdev->fs_info;
|
||||
struct btrfs_fs_devices *fs_devices = srcdev->fs_devices;
|
||||
|
||||
mutex_lock(&uuid_mutex);
|
||||
|
|
Загрузка…
Ссылка в новой задаче