v3: Rebase to master. v2: 01: Move bdrv_op_block_all down. [Max] 02, 04: Add Max's rev-by. 03: Check has_mode and fix "return;". [Max] 05: Check target->blk. Drop superfluous whitespace. [Max] 06: Drop superfluous whitespace hunk and add Max's rev-by. [Max]
This is the counterpart of blockdev-backup. The biggest value of this command is to allow full flexibility on target image open options, via blockdev-add. For example this could help solve the target provisioning issue in: http://lists.gnu.org/archive/html/qemu-devel/2015-06/msg02139.html Fam Zheng (5): block: Rename BLOCK_OP_TYPE_MIRROR to BLOCK_OP_TYPE_MIRROR_SOURCE block: Extract blockdev part of qmp_drive_mirror block: Add check on mirror target qmp: Add blockdev-mirror command iotests: Add test cases for blockdev-mirror blockdev.c | 179 ++++++++++++++++++++++++++++++---------- hw/block/dataplane/virtio-blk.c | 2 +- include/block/block.h | 3 +- qapi/block-core.json | 47 +++++++++++ qmp-commands.hx | 48 +++++++++++ tests/qemu-iotests/041 | 100 ++++++++++++++++------ tests/qemu-iotests/041.out | 4 +- 7 files changed, 314 insertions(+), 69 deletions(-) -- 2.4.3