Ping... On 10/16/2015 04:57 PM, Wen Congyang wrote: > If quorum's child is broken, we can use mirror job to replace it. > But sometimes, the user only need to remove the broken child, and > add it later when the problem is fixed. > > It is based on the Kevin's bdrv_swap() related patch: > http://lists.nongnu.org/archive/html/qemu-devel/2015-10/msg02152.html > > ChangLog: > v6: > 1. Use a single qmp command x-blockdev-change to replace x-blockdev-child-add > and x-blockdev-child-delete > v5: > 1. Address Eric Blake's comments > v4: > 1. drop nbd driver's implementation. We can use human-monitor-command > to do it. > 2. Rename the command name. > v3: > 1. Don't open BDS in bdrv_add_child(). Use the existing BDS which is > created by the QMP command blockdev-add. > 2. The driver NBD can support filename, path, host:port now. > v2: > 1. Use bdrv_get_device_or_node_name() instead of new function > bdrv_get_id_or_node_name() > 2. Update the error message > 3. Update the documents in block-core.json > > > Wen Congyang (4): > Add new block driver interface to add/delete a BDS's child > quorum: implement bdrv_add_child() and bdrv_del_child() > qmp: add monitor command to add/remove a child > hmp: add monitor command to add/remove a child > > block.c | 56 ++++++++++++++++++++++++++++++++-- > block/quorum.c | 59 ++++++++++++++++++++++++++++++++++-- > blockdev.c | 76 > +++++++++++++++++++++++++++++++++++++++++++++++ > hmp-commands.hx | 17 +++++++++++ > hmp.c | 38 ++++++++++++++++++++++++ > hmp.h | 1 + > include/block/block.h | 8 +++++ > include/block/block_int.h | 5 ++++ > qapi/block-core.json | 40 +++++++++++++++++++++++++ > qmp-commands.hx | 50 +++++++++++++++++++++++++++++++ > 10 files changed, 345 insertions(+), 5 deletions(-) >