On Thu, Jun 12, 2025 at 08:57:54AM +0200, Cédric Le Goater wrote:
> On 6/7/25 02:10, John Levon wrote:
> > The series contains an implement of a vfio-user client in QEMU, along with a few
> > more preparatory patches.
> >
> > The vfio-user protocol allows for implementing (PCI) devices in another
> > userspace process; SPDK is one example, which includes a virtual NVMe
> > implementation.
> >
> > The vfio-user framework consists of 3 parts:
> > 1) The VFIO user protocol specification.
> > 2) A client - the VFIO device in QEMU that encapsulates VFIO messages
> > and sends them to the server.
> > 3) A server - a remote process that emulates a device.
> >
> > This patchset implements parts 1 and 2.
> >
> > It has been tested against libvfio-user test servers as well as SPDK.
>
> Is libvfio-user a server-only library ?
Yes.
>It seems a bit odd not to use it on the client side.
I wasn't around for any original discussion here, so don't have context, but
there are two clients I know of today: qemu and cloud-hypervisor. The latter is
in Rust, and the former is opinionated enough that I'm not sure the message
handling part (the only useful bit of the library here) would be a good match.
Also I rather like having more than one implementation of a protocol, anyway.
> I *really* would prefer if we had functional tests although I don't how
I agree it makes sense to have a working functional test before merging.
In the meantime, I would like to continue with review of the main chunk - as you
said, there's a lot of code. I've not made substantial changes since v3 (only
the comments so far), so I'm happy to continue with v3 review, or if you prefer,
I can send out v4 against master. Please let me know.
regards
john