|
@@ -569,9 +569,11 @@ static int __btrfs_close_devices(struct btrfs_fs_devices *fs_devices)
|
|
|
memcpy(new_device, device, sizeof(*new_device));
|
|
|
|
|
|
/* Safe because we are under uuid_mutex */
|
|
|
- name = rcu_string_strdup(device->name->str, GFP_NOFS);
|
|
|
- BUG_ON(device->name && !name); /* -ENOMEM */
|
|
|
- rcu_assign_pointer(new_device->name, name);
|
|
|
+ if (device->name) {
|
|
|
+ name = rcu_string_strdup(device->name->str, GFP_NOFS);
|
|
|
+ BUG_ON(device->name && !name); /* -ENOMEM */
|
|
|
+ rcu_assign_pointer(new_device->name, name);
|
|
|
+ }
|
|
|
new_device->bdev = NULL;
|
|
|
new_device->writeable = 0;
|
|
|
new_device->in_fs_metadata = 0;
|