On 22/07/2020 10:09, Nikolay Borisov wrote: > When adding a new device there's a mandatory check to see if a device is > being duplicated to the filesystem it's added to. Since this is a > read-only operations not necessary to take device_list_mutex and can simply > make do with an rcu-readlock. No semantics changes. Hmm what are the actual locking rules for the device list? For instance looking at add_missing_dev() in volumes.c addition to the list is unprotected (both from read_one_chunk() and read_one_dev()). Others (i.e. btrfs_init_new_device()) do a list_add_rcu(). clone_fs_devices() takes the device_list_mutex and so on. Thanks, Johannes
