Virtio and GEOM labels

John Nielsen lists at jnielsen.net
Mon Mar 25 17:49:18 UTC 2013


On Mar 22, 2013, at 8:14 AM, Paul Mather <paul at gromit.dlib.vt.edu> wrote:

> I'm running FreeBSD 9-STABLE as a guest under RHEL 6.4 KVM virtualisation.  I have networking and storage in the FreeBSD guest using the Virtio drivers (with the virtual disk set to "Virtio" in the definition on the host).  Everything is working nicely: I have a vtnet network adapter and see vtbd devices for my virtual disks in FreeBSD.  Performance is much better compared with an emulated IDE device.

I've had the same experience.

> The odd thing is that I don't see GEOM labels reflected in /dev.  For example, I have GPT labels defined in the guest, but I don't see them show up under /dev/gpt.  Similarly, my UFS labels don't show up under /dev/ufs.  I *do* see a /dev/gptid.  That appears to be the only label that shows up.

I have not encountered this issue. I use virtio block devices and GPT labels exclusively in multiple FreeBSD 9.1 guests and all mount/function without issue. How are you referring to your filesystems in /etc/fstab? IIRC GEOM makes not-in-use labels disappear when a device is in use (e.g. mounted). If you take a new device, put a labeled GPT partition on it and a labeled UFS partition on that but don't mount anything, what happens?

> Is there something special I need to do to get GPT and UFS labels to appear when using Virtio?  It seems to me that Virtio block devices appear to be somewhat unusual.  Unlike regular ATA and SCSI devices, my vtbd devices don't appear in the boot dmesg (although a vtblk device does), and "camcontrol devlist" does not list them.  It's not clear to me how I am supposed to interact with them other than via basic device I/O through /dev/vtbdX.  I thought that the virtio_scsi module might make them appear as "da" devices and able to interacted with via camcontrol, but this doesn't seem to be the case.

Virtio block devices and virtio SCSI devices are not the same. If you want to use the virtio_scsi module in FreeBSD you should expose a virtio SCSI device from the host.

JN



More information about the freebsd-stable mailing list