Re: [PATCH v6 12/24] vfio/pci: Allow passing zero-length fd array in VFIO_DEVICE_PCI_HOT_RESET

Jason Gunthorpe
2023-03-24T13:14:56Z

On Fri, Mar 24, 2023 at 09:09:59AM +0000, Tian, Kevin wrote:
> > From: Alex Williamson <alex.williamson@redhat.com>
> > Sent: Wednesday, March 22, 2023 5:01 AM
> >
> > On Tue, 21 Mar 2023 17:50:08 -0300
> > Jason Gunthorpe <jgg@nvidia.com> wrote:
> >
> > >
> > > Though it would be nice if qemu didn't need two implementations so Yi
> > > I'd rather see a new info in this series as well and qemu can just
> > > consistently use dev_id and never bdf in iommufd mode.
> >
> > We also need to consider how libvirt determines if QEMU has the kernel
> > support it needs to pass file descriptors. It'd be a lot cleaner if
> > this aligned with the introduction of vfio cdevs.
> >
>
> Libvirt can check whether the kernel creates cdev for a given device
> via sysfs.
>
> but I'm not sure how Libvirt determines whether QEMU supports a
> feature that it wants to use. But sounds this is a general handshake
> problem as Libvirt needs to support many versions of QEMU then
> there must be a way for such negotiation?

Ideally libvirt would be able to learn what ioctls are supported on
the cdev fd after it opens it, but before binding. I don't think we
have something here yet, but I could imagine having something.

Clearly it is easier if cdev alone is enough proof to know that it
should go ahead in cdev mode.

Jason