Libvirt NVME support

Suraj Kasi suraj.kasi at nutanix.com
Mon Nov 16 23:01:00 UTC 2020


Hi Peter,

Just wanted to follow up. As Thanos mentioned that we want a virtual NVMe controller in the guest for which the support doesn't yet exist in libvirt. Is it something that would be accepted if we were to implement it?

Thanks,
Suraj

On 11/9/20, 8:54 AM, "Thanos Makatos" <thanos.makatos at nutanix.com> wrote:

    > -----Original Message-----
    > From: Peter Krempa <pkrempa at redhat.com>
    > Sent: 09 November 2020 16:44
    > To: Suraj Kasi <suraj.kasi at nutanix.com>
    > Cc: libvirt-list at redhat.com; Thanos Makatos
    > <thanos.makatos at nutanix.com>; John Levon <john.levon at nutanix.com>
    > Subject: Re: Libvirt NVME support
    > 
    > On Mon, Nov 09, 2020 at 16:38:11 +0000, Suraj Kasi wrote:
    > > Hi,
    > >
    > > We wanted to check if it’s possible to specify a disk’s target as nvme (so
    > that the disk shows up as a nvme disk to the guest VM).
    > >
    > > Per libvirt documentation it looks like (since Libvirt 6.0.0) we can specify the
    > disk type as nvme and disks source as a nvme. But the documentation does
    > not say anything about being specify the disk’s target as nvme. Is it possible
    > to present the disk to the guest as a nvme disk, if so how?
    > >
    > 
    > NVMe device emulation is not supported at this point. I'm not even sure
    > what the state of the feature in qemu upstream is.

    In older QEMU versions (~2.12) it was broken, not sure whether it's fixed now. In any case, we plan to provide NVMe emulation using SPDK once the multiprocess QEMU and vfio-user/out-of-process device emulation patch series are merged.

    > 
    > If you have a real NVMe device, you can obviously use PCI device
    > assignment with it to pass it to the guest os.

    We want a _virtual_ NVMe controller in the guest where the backend can be connected to anything, e.g. iSCSI, raw block, NVMe, etc.






More information about the libvir-list mailing list