diff --git a/fs/btrfs/volumes.c b/fs/btrfs/volumes.c index 55da5f0c56e3dddd9a14d7ac633b46d95135fef6..aa001b08ced09eee2be669cbddd1ee5ef37d6c5d 100644 --- a/fs/btrfs/volumes.c +++ b/fs/btrfs/volumes.c @@ -196,6 +196,9 @@ int btrfs_open_devices(struct btrfs_fs_devices *fs_devices, mutex_lock(&uuid_mutex); list_for_each(cur, head) { device = list_entry(cur, struct btrfs_device, dev_list); + if (device->bdev) + continue; + bdev = open_bdev_excl(device->name, flags, holder); if (IS_ERR(bdev)) {