-----Original Message-----
From: Peter Krempa <pkrempa(a)redhat.com>
Sent: 09 November 2020 16:44
To: Suraj Kasi <suraj.kasi(a)nutanix.com>
Cc: libvirt-list(a)redhat.com; Thanos Makatos
<thanos.makatos(a)nutanix.com>; John Levon <john.levon(a)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.