Paolo Bonzini e49a661840 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>
2017-03-22 17:56:00 +02:00
..
2017-01-27 18:08:00 +01:00
2017-03-21 10:25:01 +00:00
2017-01-20 11:15:06 +00:00
2017-02-02 16:08:28 +00:00
2017-02-06 12:33:21 +11:00
2017-01-27 18:07:59 +01:00
2017-02-24 10:37:21 +00:00
2017-02-28 20:40:36 +01:00
2017-02-02 18:48:06 +00:00
2017-02-24 10:13:57 +00:00
2017-03-01 23:09:46 +00:00
2017-02-28 16:18:49 +00:00