ChangLog: v14: 1. Address commets from Betro and Max p2: introduce bdrv_drained_begin/end, rename last_index, remove redundant assert codes v13: 1. Rebase to the newest codes 2. Address commets from Betro and Max p1. Add R-B, fix incorrect syntax p2. Add missing "qemu/cutils.h" since 2.6, and rewrite quorum_add/del_child p3. Remove unnecessary "id", add "since 2.7" v11~v12: 1. Address comments from Max p1. Add R-B p2. Add R-B, remove unnecessary "endptr" "value" p3. Add R-B v10~v11: 1. Rebase to the newest codes 2. Address comment from Max Don't use contractions in error messages, p1: Remove R-Bs, and use "BdrvChild *child" in bdrv_del_child p2: Fix error logic in get_new_child_index/remove_child_index, and prefect child->name parsing p3: Make bdrv_find_child return BdrvChild *, and add missing explanation
v9~v10: 1. Rebase to the newest codes 2. Address comments from Berto and Max, update the documents in block-core.json and qmp-commands.hx 3. Remove redundant codes in quorum_add_child() and quorum_del_child() v8: 1. Rebase to the newest codes 2. Address the comments from Eric Blake v7: 1. Remove the qmp command x-blockdev-change's parameter operation according to Kevin's comments. 2. Remove the hmp command. 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 (3): 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 block.c | 57 +++++++++++++++++++++++++++++++--- block/quorum.c | 78 +++++++++++++++++++++++++++++++++++++++++++++-- blockdev.c | 55 +++++++++++++++++++++++++++++++++ include/block/block.h | 8 +++++ include/block/block_int.h | 5 +++ qapi/block-core.json | 32 +++++++++++++++++++ qmp-commands.hx | 53 ++++++++++++++++++++++++++++++++ 7 files changed, 282 insertions(+), 6 deletions(-) -- 1.9.3