* Wen Congyang (we...@cn.fujitsu.com) 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. >
Hi, Two questions: 1) Do you have an example of a pair of add/remove commands that work together? (I'm not quite sure I understand where the ID for the remove comes from). 2) If the child has failed and is not responding to block operations at all (e.g a networking failure to an nbd device which may take minutes to time out); how do you recover - flush or drain on the devices hang at that point. (I was trying to test recovery from a failed secondary using the July COLO release; but the primary gets stuck in bdrv_drain or bdrv_flush if I kill the secondary in the right way). Dave > It is based on the following patch: > http://lists.nongnu.org/archive/html/qemu-devel/2015-09/msg04579.html > > ChangLog: > 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 | 72 > +++++++++++++++++++++++++++++++++++++++++++++-- > blockdev.c | 48 +++++++++++++++++++++++++++++++ > hmp-commands.hx | 28 ++++++++++++++++++ > hmp.c | 20 +++++++++++++ > hmp.h | 2 ++ > include/block/block.h | 8 ++++++ > include/block/block_int.h | 5 ++++ > qapi/block-core.json | 34 ++++++++++++++++++++++ > qmp-commands.hx | 61 +++++++++++++++++++++++++++++++++++++++ > 10 files changed, 329 insertions(+), 5 deletions(-) > > -- > 2.4.3 > -- Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK