Virtio and GEOM labels

Paul Mather paul at
Mon Mar 25 18:55:42 UTC 2013

On Mar 25, 2013, at 1:46 PM, John Nielsen <lists at> wrote:

> On Mar 22, 2013, at 8:14 AM, Paul Mather <paul at> 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?

Thanks for the reply.

My apologies: this is a case of pilot error on my part.  I was mounting the devices as /dev/vtbd...  I hadn't realised that the present-but-unused labels were being suppressed when the device was mounted.  Has this always been the case?  For some reason I had a distinct recollection stuck in my mind that all labels showed up in /dev.

Anyway, many thanks for pointing the way to the solution.  I now have GPT- and UFS-labelled devices mounted in my FreeBSD guest system.

>> 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.

Thank you for the explanation.  I've been using virt-manager up to now for setting up KVM guests and it seems that virtio-scsi isn't exposed through that interface---only through the command line.  I'll have to investigate...



More information about the freebsd-stable mailing list