diff options
author | Paolo Bonzini | 2017-02-28 14:21:32 +0100 |
---|---|---|
committer | Michael S. Tsirkin | 2017-03-22 16:56:00 +0100 |
commit | e49a6618400d11e51e30328dfe8d7cafce82d4bc (patch) | |
tree | 5bc98e6494a0f47695d8e9bf570673fd8aec02dc /include/hw/acpi/vmgenid.h | |
parent | virtio: Fix error handling in virtio_bus_device_plugged (diff) | |
download | qemu-e49a6618400d11e51e30328dfe8d7cafce82d4bc.tar.gz qemu-e49a6618400d11e51e30328dfe8d7cafce82d4bc.tar.xz qemu-e49a6618400d11e51e30328dfe8d7cafce82d4bc.zip |
virtio: always use handle_aio_output if registered
Commit ad07cd6 ("virtio-scsi: always use dataplane path if ioeventfd is
active", 2016-10-30) and 9ffe337 ("virtio-blk: always use dataplane
path if ioeventfd is active", 2016-10-30) broke the virtio 1.0
indirect access registers.
The indirect access registers bypass the ioeventfd, so that virtio-blk
and virtio-scsi now repeatedly try to initialize dataplane instead of
triggering the guest->host EventNotifier. Detect the situation by
checking vq->handle_aio_output; if it is not NULL, trigger the
EventNotifier, which is how the device expects to get notifications
and in fact the only thread-safe manner to deliver them.
Fixes: ad07cd6
Fixes: 9ffe337
Cc: qemu-stable@nongnu.org
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Diffstat (limited to 'include/hw/acpi/vmgenid.h')
0 files changed, 0 insertions, 0 deletions