v2: * Tackle the .ioeventfd_stop() vs vq handler race by removing the ioeventfd from a BH in the IOThread [Fam]
There are several race conditions in virtio-blk/virtio-scsi dataplane code. This patch series addresses them, see the commit description for details on the individual cases. Stefan Hajnoczi (4): block: add aio_wait_bh_oneshot() virtio-blk: fix race between .ioeventfd_stop() and vq handler virtio-scsi: fix race between .ioeventfd_stop() and vq handler vl: introduce vm_shutdown() include/block/aio-wait.h | 13 +++++++++++++ include/sysemu/iothread.h | 1 - include/sysemu/sysemu.h | 1 + cpus.c | 16 +++++++++++++--- hw/block/dataplane/virtio-blk.c | 24 +++++++++++++++++------- hw/scsi/virtio-scsi-dataplane.c | 9 +++++---- iothread.c | 31 ------------------------------- util/aio-wait.c | 31 +++++++++++++++++++++++++++++++ vl.c | 13 +++---------- 9 files changed, 83 insertions(+), 56 deletions(-) -- 2.14.3