diff options
| author | Cornelia Huck | 2013-09-04 14:16:15 +0200 |
|---|---|---|
| committer | Stefan Hajnoczi | 2013-09-06 15:25:09 +0200 |
| commit | 8caf907f07688972e5e7cd11526079b1665d6dba (patch) | |
| tree | 0b8f280f58f6cbc5d96865eee443a38dbcbb17b9 /include/exec/exec-all.h | |
| parent | block: look for zero blocks in bs->file (diff) | |
| download | qemu-8caf907f07688972e5e7cd11526079b1665d6dba.tar.gz qemu-8caf907f07688972e5e7cd11526079b1665d6dba.tar.xz 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 'include/exec/exec-all.h')
0 files changed, 0 insertions, 0 deletions
