Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

btrfs: replace uuid_mutex by device_list_mutex in btrfs_open_devices



btrfs_open_devices() is using the uuid_mutex, but as btrfs_open_devices
is just limited to openning all the devices under for given fsid, so we
don't need uuid_mutex.

Instead it should hold the device_list_mutex as it updates the members
of the btrfs_fs_devices and btrfs_device and not the whole fs_devs list.

Signed-off-by: default avatarAnand Jain <anand.jain@oracle.com>
Reviewed-by: default avatarDavid Sterba <dsterba@suse.com>
[ update changelog ]
Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
parent 3dd0f7a3
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -1146,7 +1146,7 @@ int btrfs_open_devices(struct btrfs_fs_devices *fs_devices,
{
	int ret;

	mutex_lock(&uuid_mutex);
	mutex_lock(&fs_devices->device_list_mutex);
	if (fs_devices->opened) {
		fs_devices->opened++;
		ret = 0;
@@ -1154,7 +1154,8 @@ int btrfs_open_devices(struct btrfs_fs_devices *fs_devices,
		list_sort(NULL, &fs_devices->devices, devid_cmp);
		ret = open_fs_devices(fs_devices, flags, holder);
	}
	mutex_unlock(&uuid_mutex);
	mutex_unlock(&fs_devices->device_list_mutex);

	return ret;
}