summary refs log tree commit diff stats
path: root/scripts/qapi.py
diff options
context:
space:
mode:
authorCornelia Huck <cornelia.huck@de.ibm.com>2013-09-04 14:16:15 +0200
committerStefan Hajnoczi <stefanha@redhat.com>2013-09-06 15:25:09 +0200
commit8caf907f07688972e5e7cd11526079b1665d6dba (patch)
tree0b8f280f58f6cbc5d96865eee443a38dbcbb17b9 /scripts/qapi.py
parent5daa74a6ebce7543aaad178c4061dc087bb4c705 (diff)
downloadfocaccia-qemu-8caf907f07688972e5e7cd11526079b1665d6dba.tar.gz
focaccia-qemu-8caf907f07688972e5e7cd11526079b1665d6dba.zip
dataplane: Fix startup race.
Avoid trying to setup dataplane again if dataplane setup is already in
progress. This may happen if an eventfd is triggered during setup.

I saw this occasionally with an experimental s390 irqfd implementation:

virtio_blk_handle_output
-> virtio_blk_data_plane_start
-> virtio_ccw_set_host_notifier
...
-> virtio_queue_set_host_notifier_fd_handler
-> virtio_queue_host_notifier_read
-> virtio_queue_notify_vq
-> virtio_blk_handle_output
-> virtio_blk_data_plane_start
-> vring_setup
-> hostmem_init
-> memory_listener_register
-> BOOM

As virtio-ccw tries to follow what virtio-pci does, it might be triggerable
for other platforms as well.

Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Diffstat (limited to 'scripts/qapi.py')
0 files changed, 0 insertions, 0 deletions