ChangLog: 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 | 121 +++++++++++++++++++++++++++++++++++++++++++++- blockdev.c | 55 +++++++++++++++++++++ include/block/block.h | 8 +++ include/block/block_int.h | 5 ++ qapi/block-core.json | 32 ++++++++++++ qmp-commands.hx | 54 +++++++++++++++++++++ 7 files changed, 326 insertions(+), 6 deletions(-) -- 1.9.3