This patch allow to build a mirror of a block device and replace an arbitrary named node of the graph with the mirror.
The obvious first usage is Quorum: with this patch one quand drive-mirror the block device say quorum0 and then bdrv_swap the result in place of a broken quorum file (dead filer for example). The second patch implement drive-mirror tests for this mode. Benoît Canet (2): block: Add node-name and to-replace-node-name arguments to drive-mirror. qemu-iotests: Add TestRepairQuorum to 041 to test drive-mirror node-name mode. block/mirror.c | 39 +++++++-- blockdev.c | 61 ++++++++++++-- hmp.c | 3 +- include/block/block_int.h | 3 + qapi-schema.json | 15 +++- qmp-commands.hx | 9 ++- tests/qemu-iotests/041 | 196 ++++++++++++++++++++++++++++++++++++++++++++- tests/qemu-iotests/041.out | 4 +- 8 files changed, 308 insertions(+), 22 deletions(-) -- 1.8.3.2