With virtio-blk dataplane, I/O errors might occur while QEMU is
not in the main I/O thread.  This makes the block layer's
bdrv_error_action() function thread-safe (modulo changes in
the monitor to make QMP events thread-safe too, already posted).

Thanks to Kevin for discussing v1, the ideas are based on his
input too.

v1->v2: redone, v1 should really have been an RFC

Paolo Bonzini (2):
  vl: allow other threads to do qemu_system_vmstop_request
  block: asynchronously stop the VM on I/O errors

 block.c                 | 20 ++++++++++--
 cpus.c                  |  1 +
 docs/qmp/qmp-events.txt |  2 +-
 include/sysemu/sysemu.h |  1 +
 stubs/vm-stop.c         |  7 +++-
 target-lm32/op_helper.c |  2 +-
 vl.c                    | 85 +++++++++++++++++++++++++++++++------------------
 7 files changed, 82 insertions(+), 36 deletions(-)

-- 
1.8.3.1


Reply via email to