qemu/include/hw/virtio
Alex Bennée 56534930b5 hw/virtio/vhost-user: don't suppress F_CONFIG when supported
Previously we would silently suppress VHOST_USER_PROTOCOL_F_CONFIG
during the protocol negotiation if the QEMU stub hadn't implemented
the vhost_dev_config_notifier. However this isn't the only way we can
handle config messages, the existing vdc->get/set_config can do this
as well.

Lightly re-factor the code to check for both potential methods and
instead of silently squashing the feature error out. It is unlikely
that a vhost-user backend expecting to handle CONFIG messages will
behave correctly if they never get sent.

Fixes: 1c3e5a2617 ("vhost-user: back SET/GET_CONFIG requests with a protocol feature")
Cc: Maxime Coquelin <maxime.coquelin@redhat.com>
Cc: Michael S. Tsirkin <mst@redhat.com>
Cc: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>

Message-Id: <20220321153037.3622127-13-alex.bennee@linaro.org>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2022-05-16 04:38:40 -04:00
..
vhost-backend.h Revert "vhost: introduce new VhostOps vhost_set_config_call" 2022-01-10 16:02:01 -05:00
vhost-scsi-common.h vhost-scsi: support inflight io track 2020-09-30 19:09:20 +02:00
vhost-scsi.h
vhost-user-blk.h
vhost-user-fs.h Clean up ill-advised or unusual header guards 2022-05-11 16:50:01 +02:00
vhost-user-i2c.h Clean up ill-advised or unusual header guards 2022-05-11 16:50:01 +02:00
vhost-user-rng.h Clean up ill-advised or unusual header guards 2022-05-11 16:50:01 +02:00
vhost-user-scsi.h
vhost-user-vsock.h Clean up ill-advised or unusual header guards 2022-05-11 16:50:01 +02:00
vhost-user.h hw/virtio/vhost-user: don't suppress F_CONFIG when supported 2022-05-16 04:38:40 -04:00
vhost-vdpa.h vdpa: Expose VHOST_F_LOG_ALL on SVQ 2022-03-15 13:57:44 +08:00
vhost-vsock-common.h Clean up ill-advised or unusual header guards 2022-05-11 16:50:01 +02:00
vhost-vsock.h vhost-vsock: handle common features in vhost-vsock-common 2021-10-05 17:30:57 -04:00
vhost.h include/hw: start documenting the vhost API 2022-05-16 04:38:40 -04:00
virtio-access.h Replace TARGET_WORDS_BIGENDIAN 2022-04-06 10:50:37 +02:00
virtio-balloon.h
virtio-blk.h virtio-blk: drop unused virtio_blk_handle_vq() return value 2022-01-12 17:09:39 +00:00
virtio-bus.h virtio-bus: introduce iommu_enabled() 2021-09-04 16:35:17 -04:00
virtio-crypto.h
virtio-gpu-bswap.h Replace config-time define HOST_WORDS_BIGENDIAN 2022-04-06 10:50:37 +02:00
virtio-gpu-pci.h
virtio-gpu-pixman.h
virtio-gpu.h edid: set default resolution to 1280x800 (WXGA) 2022-01-13 10:59:16 +01:00
virtio-input.h
virtio-iommu.h virtio-iommu: Default to bypass during boot 2022-03-06 05:08:23 -05:00
virtio-mem.h virtio-mem: Support VIRTIO_MEM_F_UNPLUGGED_INACCESSIBLE 2022-01-07 19:30:13 -05:00
virtio-mmio.h hw/virtio: enable ioeventfd configuring for mmio 2021-05-14 10:26:18 -04:00
virtio-net.h virtio-net: vhost control virtqueue support 2021-10-20 04:44:05 -04:00
virtio-pci.h hw/virtio: move virtio-pci.h into shared include space 2022-05-16 04:38:40 -04:00
virtio-pmem.h qapi: Restrict device memory commands to machine code 2020-09-29 15:41:36 +02:00
virtio-rng.h
virtio-scsi.h virtio-scsi: move request-related items from .h to .c 2022-05-09 10:45:04 +01:00
virtio-serial.h
virtio.h virtio-scsi: don't waste CPU polling the event virtqueue 2022-05-09 10:45:04 +01:00