On Thu, Apr 12, 2018 at 10:29:33AM +0800, Anand Jain wrote:
> btrfs_free_extra_devids() frees the orphan fsid::devid but its search is
> limited to btrfs_fs_devices::devices, so we dont need uuid_mutex.
>From that it's not clear why there's no locking at all now:
> @@ -897,7 +897,6 @@ void btrfs_free_extra_devids(struct btrfs_fs_devices *fs_devices, int step)
> struct btrfs_device *device, *next;
> struct btrfs_device *latest_dev = NULL;
>
> - mutex_lock(&uuid_mutex);
ie. why is this not replaced by the device_list_lock. Please resend this
patch and explain in the changelog.
> again:
> /* This is the initialized path, it is safe to release the devices. */
> list_for_each_entry_safe(device, next, &fs_devices->devices, dev_list) {
> @@ -951,8 +950,6 @@ void btrfs_free_extra_devids(struct btrfs_fs_devices *fs_devices, int step)
> }
>
> fs_devices->latest_bdev = latest_dev->bdev;
> -
> - mutex_unlock(&uuid_mutex);
> }
>
> static void free_device_rcu(struct rcu_head *head)
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html