Commit e17125b5 authored by Anand Jain's avatar Anand Jain Committed by David Sterba
Browse files

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: default avatarAnand Jain <anand.jain@oracle.com>
Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
parent 2fca0db0
Loading
Loading
Loading
Loading
+1 −3
Original line number Diff line number Diff line
@@ -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,