On 05/16/2018 12:26 AM, David Sterba wrote:
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.
My apologies for the delay.
btrfs_free_extra_devids() needs device_list_mutex, will send a v2 for
this.
Thanks.
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
--
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