Reference: https://bugzilla.redhat.com/show_bug.cgi?id=1367369#c8
It's possible to wedge QEMU if the guest tries to reset a virtio-pci
device as QEMU is also using the drive for a blockjob. This patchset
aims to allow us to safely pause/resume jobs attached to individual
nodes in a manner similar to how bdrv_drain_all_begin/end do.
Kevin suggested a DevOps approach which I've approximated here, but
I've got a number of questions before I push the point any further.
John Snow (3):
blockjob: add block_job_start_shim
block-backend: add drained_begin / drained_end ops
blockjob: add devops to blockjob backends
block/block-backend.c | 25 ++++++++++++++++++
blockjob.c | 60 +++++++++++++++++++++++++++++++++---------
include/sysemu/block-backend.h | 8 ++++++
3 files changed, 81 insertions(+), 12 deletions(-)
--
2.9.3