On Wed, Jun 03, 2026 at 11:03:18AM +0200, Stefano Garzarella wrote: > On Tue, May 19, 2026 at 03:15:47PM -0400, Stefan Hajnoczi wrote: > > When a vring is started the back-end must look for available vq buffers > > and process them. This scenario can happen if the back-end is stopped > > with unprocessed available buffers and then started again. > > > > The inflight I/O tracking code already did this, but it should also be > > done when inflight I/O tracking is not enabled. Move the code. > > > > Signed-off-by: Stefan Hajnoczi <[email protected]> > > --- > > subprojects/libvhost-user/libvhost-user.c | 10 +++++----- > > 1 file changed, 5 insertions(+), 5 deletions(-) > > > > diff --git a/subprojects/libvhost-user/libvhost-user.c > > b/subprojects/libvhost-user/libvhost-user.c > > index 9c630c2170..2e286ea6d9 100644 > > --- a/subprojects/libvhost-user/libvhost-user.c > > +++ b/subprojects/libvhost-user/libvhost-user.c > > @@ -1390,11 +1390,6 @@ vu_check_queue_inflights(VuDev *dev, VuVirtq *vq) > > vq->counter = vq->resubmit_list[0].counter + 1; > > } > > > > - /* in case of I/O hang after reconnecting */ > > - if (eventfd_write(vq->kick_fd, 1)) { > > - return -1; > > - } > > - > > return 0; > > } > > > > @@ -1436,6 +1431,11 @@ vu_set_vring_kick_exec(VuDev *dev, VhostUserMsg > > *vmsg) > > vu_panic(dev, "Failed to check inflights for vq: %d\n", index); > > } > > > > + /* Inject a kick to look for available vq buffers */ > > + if (eventfd_write(dev->vq[index].kick_fd, 1)) { > > Should we check if kick_fd is not -1 like we already do in other places in > this function? (mainly when `nofd` is true) > > > + return -1; > > This function returns boolean, -1 is `true` and IIUC means that we ask for a > reply which is not the case here. We should fix it.
Thanks for catch these things. I'm going to redo this patch. Not sure what I was thinking :). Stefan
signature.asc
Description: PGP signature
