I am trying to understand how btrfs handles multiple devices configured to a single btrfs file system. As compared to traditinal LVM2, say 2 physical disks /dev/sda, /dev/sdb are configured as single LVM2 pool and lvm provide an abstract view say /dev/mapper/VG1-LV1 where VG1 is name of volume ground created on top of /dev/sda and /dev/sdb and LV1 is logical volume. for mkfs, we can provide /dev/mapper/VG1-LV1 to create file system. This path is kind of virtual device managed by LVM2. and Using dm, I/Os are transferred to respective devices /dev/sda or /dev/sdb. Does btrfs also creates such virtual view of all devices provided while operating on disks under the file system? To support my question, example is mkfs.btrfs /dev/sdc /dev/sdd creates btrfs. Both disks are of size 5GB. Hence around 10GB btrfs fs is created. For this btrfs internally creates any virtual path for 10GB view? or how btrfs internally manages? I am looking at scrub code where struct btrfs_device structure contains struct block_device *bdev and also struct btrfs_fs_devices *fs_devices fields. If I relate my question does bdev filed in btrfs_device is virtual view of all devices? and fs_devices represents list of individual devices (in above example /dev/sdc and /dev/sdd) ? Thank you in advance. -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html
