The monitor command 'query-block' or 'info block' will output the filename.
So we can get each children's child-name after this patch. This useful for
dynamic reconfiguration.

Signed-off-by: Wen Congyang <we...@cn.fujitsu.com>
---
 block/quorum.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/block/quorum.c b/block/quorum.c
index da15465..182766a 100644
--- a/block/quorum.c
+++ b/block/quorum.c
@@ -1036,9 +1036,13 @@ static void quorum_refresh_filename(BlockDriverState 
*bs, QDict *options)
 
     children = qlist_new();
     for (i = 0; i < s->num_children; i++) {
-        QINCREF(s->children[i]->bs->full_open_options);
-        qlist_append_obj(children,
-                         QOBJECT(s->children[i]->bs->full_open_options));
+        QDict *child_opts;
+        const char *child_name = s->children[i]->name;
+
+        child_opts = 
qdict_clone_shallow(s->children[i]->bs->full_open_options);
+        qdict_put_obj(child_opts, "child-name",
+                      QOBJECT(qstring_from_str(child_name)));
+        qlist_append_obj(children, QOBJECT(child_opts));
     }
 
     opts = qdict_new();
-- 
2.5.0



Reply via email to