Hi,
Hopefully this is the final iteration to fix the vhost-user issues
that are currently plaguing the release. I've prevented the circular
closing for the vhost_dev structure by generalising the solution used
by virtio-user-blk which punts the close off to an aio instance.
The memory leak from:
gpio->vhost_dev.vqs = g_new0(struct vhost_virtqueue, gpio->vhost_dev.nvqs);
still occurs which is because we never call vu_gpio_device_unrealize()
in the test. However its unclear why this is the case. We don't seem
to unrealize the vhost-user-network tests either and clang doesn't
complain about that. However as its not triggered by CI I guess we can
live with it for now.
I've included Stefano's:
vhost: enable vrings in vhost_dev_start() for vhost-user devices
in this series as it makes sense and improves the vring state errors.
However it's up to you if you want to include it in the eventual PR.
I have had at least one green run on CI now:
https://gitlab.com/stsquad/qemu/-/pipelines/707015814
Please review.
Alex Bennée (6):
include/hw: attempt to document VirtIO feature variables
include/hw: VM state takes precedence in virtio_device_should_start
tests/qtests: override "force-legacy" for gpio virtio-mmio tests
hw/virtio: ensure a valid host_feature set for virtio-user-gpio
hw/virtio: add started_vu status field to vhost-user-gpio
hw/virtio: generalise CHR_EVENT_CLOSED handling
Stefano Garzarella (1):
vhost: enable vrings in vhost_dev_start() for vhost-user devices
include/hw/virtio/vhost-user-gpio.h | 10
include/hw/virtio/vhost-user.h | 18
include/hw/virtio/vhost.h | 31 +++--
include/hw/virtio/virtio.h | 42 ++---
backends/cryptodev-vhost.c | 4 +-
backends/vhost-user.c | 4 +-
hw/block/vhost-user-blk.c | 45 +++---
hw/net/vhost_net.c | 8 ++--
hw/scsi/vhost-scsi-common.c | 4 +-
hw/virtio/vhost-user-fs.c | 4 +-
hw/virtio/vhost-user-gpio.c | 32 +
hw/virtio/vhost-user-i2c.c | 4 +-
hw/virtio/vhost-user-rng.c | 4 +-
hw/virtio/vhost-user.c | 71 +
hw/virtio/vhost-vsock-common.c | 4 +-
hw/virtio/vhost.c | 44 --
tests/qtest/libqos/virtio-gpio.c| 3 +-
hw/virtio/trace-events | 4 +-
18 files changed, 251 insertions(+), 85 deletions(-)
-
2.34.1