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 majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html