See patch one's commit message for justification. Patches 2-5 are for testing, because that's always how these things go.
001/5:[----] [--] 'blockdev-backup: don't check aio_context too early' 002/5:[0004] [FC] 'iotests.py: do not use infinite waits' 003/5:[down] 'QEMUMachine: add events_wait method' 004/5:[0022] [FC] 'iotests.py: rewrite run_job to be pickier' 005/5:[0017] [FC] 'iotests: add iotest 250 for testing blockdev-backup across iothread contexts' v3: Rebased on Max's staging branch: Rebase patch 2 added patch 3, to add events_wait. Rework patch 4 to make run_job consume legacy events, too Minorly edit patch 5 due to the two above. v2: added patch 4, with iotest framework adjustments in patches 2/3. John Snow (5): blockdev-backup: don't check aio_context too early iotests.py: do not use infinite waits QEMUMachine: add events_wait method iotests.py: rewrite run_job to be pickier iotests: add iotest 250 for testing blockdev-backup across iothread contexts blockdev.c | 4 -- python/qemu/__init__.py | 69 +++++++++++++------ tests/qemu-iotests/250 | 122 ++++++++++++++++++++++++++++++++++ tests/qemu-iotests/250.out | 119 +++++++++++++++++++++++++++++++++ tests/qemu-iotests/group | 1 + tests/qemu-iotests/iotests.py | 60 ++++++++++------- 6 files changed, 326 insertions(+), 49 deletions(-) create mode 100755 tests/qemu-iotests/250 create mode 100644 tests/qemu-iotests/250.out -- 2.20.1