v18: Address reviewing comments from Jeff and Eric. Rebased to current master. Side by side diff from v17: http://bit.ly/1oO2Fvt
[01/15] block: Add BlockOpType enum Add Jeff's reviewed-by. [02/15] block: Introduce op_blockers to BlockDriverState Add Jeff's reviewed-by. [03/15] block: Replace in_use with operation blocker Add Jeff's reviewed-by. [04/15] block: Move op_blocker check from block_job_create to its caller Add Jeff's reviewed-by. [05/15] block: Add bdrv_set_backing_hd() Don't unset bs->backing_file and bs->backing_format when backing_hd==NULL, because qcow2_close() will save these into image header. [08/15] block: Support dropping active in bdrv_drop_intermediate Swap parameters for bdrv_swap: bdrv_swap(active, base); -> bdrv_swap(base, active); Use bdrv_set_backing_hd(). [10/15] commit: Use bdrv_drop_intermediate New. (Jeff) [11/15] qmp: Add command 'blockdev-backup' Since 2.0 -> Since 2.1. (Eric) [13/15] block: Add blockdev-backup to transaction Comment "Since 2.1" for blockdev-backup. (Eric) [15/15] qemu-iotests: Image fleecing test case 089 Case number 083 -> 089. Fam Zheng (15): block: Add BlockOpType enum block: Introduce op_blockers to BlockDriverState block: Replace in_use with operation blocker block: Move op_blocker check from block_job_create to its caller block: Add bdrv_set_backing_hd() block: Add backing_blocker in BlockDriverState block: Parse "backing" option to reference existing BDS block: Support dropping active in bdrv_drop_intermediate stream: Use bdrv_drop_intermediate and drop close_unused_images commit: Use bdrv_drop_intermediate qmp: Add command 'blockdev-backup' block: Allow backup on referenced named BlockDriverState block: Add blockdev-backup to transaction qemu-iotests: Test blockdev-backup in 055 qemu-iotests: Image fleecing test case 089 block-migration.c | 7 +- block.c | 312 +++++++++++++++++++++++++++------------- block/backup.c | 26 ++++ block/commit.c | 2 +- block/mirror.c | 9 +- block/stream.c | 42 +----- blockdev.c | 122 ++++++++++++++-- blockjob.c | 14 +- hw/block/dataplane/virtio-blk.c | 18 ++- include/block/block.h | 29 +++- include/block/block_int.h | 9 +- include/block/blockjob.h | 3 + qapi-schema.json | 52 +++++++ qmp-commands.hx | 44 ++++++ tests/qemu-iotests/055 | 275 +++++++++++++++++++++++++++++------ tests/qemu-iotests/055.out | 4 +- tests/qemu-iotests/089 | 99 +++++++++++++ tests/qemu-iotests/089.out | 5 + tests/qemu-iotests/group | 1 + 19 files changed, 856 insertions(+), 217 deletions(-) create mode 100755 tests/qemu-iotests/089 create mode 100644 tests/qemu-iotests/089.out -- 1.9.1