These patches make the QMP 'transaction' command work with virtio-blk dataplane. Each 'transaction' action must take care to acquire AioContext around BlockDriverState accesses. Once that protection is in place we can unblock the op blockers for these commands.
The meat is in Patch 3. Patches 1 & 2 are minor cleanups. Patch 4 protects the external snapshot command (oops, we forgot!). Stefan Hajnoczi (4): blockdev: update outdated qmp_transaction() comments blockdev: drop unnecessary DriveBackupState field assignment blockdev: acquire AioContext in QMP 'transaction' actions blockdev: check for BLOCK_OP_TYPE_EXTERNAL_SNAPSHOT blockdev.c | 74 +++++++++++++++++++++++++++++++++-------- hw/block/dataplane/virtio-blk.c | 2 ++ 2 files changed, 63 insertions(+), 13 deletions(-) -- 2.1.0