btrfs: use sprout device_list_mutex in btrfs_init_devices_late

On a mounted sprout filesystem, all threads now are using the
sprout::device_list_mutex, and this is the only code using the
seed::device_list_mutex. This patch converts to use the sprouts
fs_info->fs_devices->device_list_mutex.

The same reasoning holds true here, that device delete is holding
the sprout::device_list_mutex.

Signed-off-by: Anand Jain <anand.jain@oracle.com>
Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
Anand Jain 2020-09-05 01:34:31 +08:00 committed by David Sterba
parent 2fca0db076
commit e17125b52b

View file

@ -7195,16 +7195,14 @@ void btrfs_init_devices_late(struct btrfs_fs_info *fs_info)
mutex_lock(&fs_devices->device_list_mutex);
list_for_each_entry(device, &fs_devices->devices, dev_list)
device->fs_info = fs_info;
mutex_unlock(&fs_devices->device_list_mutex);
list_for_each_entry(seed_devs, &fs_devices->seed_list, seed_list) {
mutex_lock(&seed_devs->device_list_mutex);
list_for_each_entry(device, &seed_devs->devices, dev_list)
device->fs_info = fs_info;
mutex_unlock(&seed_devs->device_list_mutex);
seed_devs->fs_info = fs_info;
}
mutex_unlock(&fs_devices->device_list_mutex);
}
static u64 btrfs_dev_stats_value(const struct extent_buffer *eb,