On Mon, Aug 6, 2012 at 3:56 PM, Paolo Bonzini <pbonz...@redhat.com> wrote: > Commit b1f416aa8d870fab71030abc9401cfc77b948e8e breaks vhost_net > because it always registers the virtio_pci_host_notifier_read() handler > function on the ioeventfd, even when vhost_net.ko is using the ioeventfd. > The result is both QEMU and vhost_net.ko polling on the same eventfd > and the virtio_net.ko guest driver seeing inconsistent results: > > # ifconfig eth0 192.168.0.1 netmask 255.255.255.0 > virtio_net virtio0: output:id 0 is not a head! > > To fix this, proceed the same as we do for irqfd: add a parameter to > virtio_queue_set_host_notifier_fd_handler and in that case only set > the notifier, not the handler. > > Cc: Stefan Hajnoczi <stefa...@linux.vnet.ibm.com> > Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> > --- > The patch is a bit different from what I posted before, > so I didn't add Stefan's *-by tags. > > hw/virtio-pci.c | 14 +++++++------- > hw/virtio.c | 7 +++++-- > hw/virtio.h | 3 ++- > 3 file modificati, 14 inserzioni(+), 10 rimozioni(-)
Tested-by: Stefan Hajnoczi <stefa...@linux.vnet.ibm.com> Reviewed-by: Stefan Hajnoczi <stefa...@linux.vnet.ibm.com>