Btrfs: Only open block devices once during mount -o subvol=
authorChris Mason <chris.mason@oracle.com>
Thu, 8 May 2008 19:05:58 +0000 (15:05 -0400)
committerChris Mason <chris.mason@oracle.com>
Thu, 25 Sep 2008 15:04:02 +0000 (11:04 -0400)
btrfs_open_devices needed a check to see if the device was already
open.

Signed-off-by: Chris Mason <chris.mason@oracle.com>
fs/btrfs/volumes.c

index 55da5f0..aa001b0 100644 (file)
@@ -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)) {