[PATCH 3/3] nvme-pci: disable namespace identifiers for Qemu controllers

Keith Busch kbusch at kernel.org
Wed Apr 13 13:38:35 PDT 2022


On Wed, Apr 13, 2022 at 10:08:53PM +0200, Klaus Jensen wrote:
> On Apr 13 17:50, Christoph Hellwig wrote:
> > On Wed, Apr 13, 2022 at 05:49:29PM +0200, Klaus Jensen wrote:
> > > This means that the 'use-intel-id' compatibility parameter may cause a
> > > 5.2 nvme device to present itself with the Intel PCI vendor/device id,
> > > either because the user explicitly set it, or because the machine is
> > > launched using a pre-5.2 machine type (i.e. `-machine pc-q35-5.1`),
> > > which you would normally do if you want launch an existing VM on a new
> > > version of QEMU.
> > 
> > But if it presents an old machine it also shouldn't support a new
> > identify call, right?
> > 
> 
> You are absolutely right in the case of live-migration, but hw/nvme is
> marked unmigratable, so we do not worry about that.
> 
> We probably screwed up with the compatibility parameter here, since it
> really only guarantees the id and some headaches for you as driver
> maintainer. I'm sorry about that - I'll keep this in mind for the
> future.
> 
> Regardless, the fact remains that it is possible to have a device with a
> buggy uuid namespace descriptor using the Intel identifier, so we should
> add the quirk for that as well.

Reporting that identifier really should be deprecated and removed if at all
possible. There was a miscommunication regarding if that PCI device ID was
actually reserved for this purpose (it wasn't). Intel at some point will use
that DID for some device that isn't NVMe, then we're really going to be in
difficult spot.



More information about the Linux-nvme mailing list