]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemu: monitor: Add 'flat' parameter for qemuMonitorJSONQueryNamedBlockNodes
authorPeter Krempa <pkrempa@redhat.com>
Tue, 21 Jan 2020 15:42:49 +0000 (16:42 +0100)
committerPeter Krempa <pkrempa@redhat.com>
Wed, 4 Mar 2020 13:39:24 +0000 (14:39 +0100)
Modern qemu allows to skip the nested redundant data in the output of
query-named-block-nodes. Plumb in the support for the argument that
enables it.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
src/qemu/qemu_monitor.c
src/qemu/qemu_monitor_json.c
src/qemu/qemu_monitor_json.h

index 6c0a658def05ee2f56c2968da7afda574dd7dd1a..6a543a3093189f715cb6fa0d97be4a7f14906f28 100644 (file)
@@ -4247,7 +4247,7 @@ qemuMonitorQueryNamedBlockNodes(qemuMonitorPtr mon)
 {
     QEMU_CHECK_MONITOR_NULL(mon);
 
-    return qemuMonitorJSONQueryNamedBlockNodes(mon);
+    return qemuMonitorJSONQueryNamedBlockNodes(mon, false);
 }
 
 
index a2f253f731dcc83efb9363f42699bde274664a83..5ae8d783ee3833ef5736da823c45f6220cb15637 100644 (file)
@@ -2862,7 +2862,7 @@ qemuMonitorJSONBlockStatsUpdateCapacityBlockdev(qemuMonitorPtr mon,
     virJSONValuePtr nodes;
     int ret = -1;
 
-    if (!(nodes = qemuMonitorJSONQueryNamedBlockNodes(mon)))
+    if (!(nodes = qemuMonitorJSONQueryNamedBlockNodes(mon, false)))
         return -1;
 
     if (virJSONValueArrayForeachSteal(nodes,
@@ -3018,7 +3018,7 @@ qemuMonitorJSONBlockGetNamedNodeData(qemuMonitorPtr mon)
 {
     g_autoptr(virJSONValue) nodes = NULL;
 
-    if (!(nodes = qemuMonitorJSONQueryNamedBlockNodes(mon)))
+    if (!(nodes = qemuMonitorJSONQueryNamedBlockNodes(mon, false)))
         return NULL;
 
     return qemuMonitorJSONBlockGetNamedNodeDataJSON(nodes);
@@ -8740,12 +8740,15 @@ qemuMonitorJSONSetBlockThreshold(qemuMonitorPtr mon,
 
 
 virJSONValuePtr
-qemuMonitorJSONQueryNamedBlockNodes(qemuMonitorPtr mon)
+qemuMonitorJSONQueryNamedBlockNodes(qemuMonitorPtr mon,
+                                    bool flat)
 {
     g_autoptr(virJSONValue) cmd = NULL;
     g_autoptr(virJSONValue) reply = NULL;
 
-    if (!(cmd = qemuMonitorJSONMakeCommand("query-named-block-nodes", NULL)))
+    if (!(cmd = qemuMonitorJSONMakeCommand("query-named-block-nodes",
+                                           "B:flat", flat,
+                                           NULL)))
         return NULL;
 
     if (qemuMonitorJSONCommand(mon, cmd, &reply) < 0)
index fd2e09025e121c403ed7baa132316e0681a4291b..71aaa471e1af4629c37948bcdb4c3cff64a9b705 100644 (file)
@@ -584,7 +584,8 @@ int qemuMonitorJSONSetBlockThreshold(qemuMonitorPtr mon,
                                      unsigned long long threshold)
     ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2);
 
-virJSONValuePtr qemuMonitorJSONQueryNamedBlockNodes(qemuMonitorPtr mon)
+virJSONValuePtr qemuMonitorJSONQueryNamedBlockNodes(qemuMonitorPtr mon,
+                                                    bool flat)
     ATTRIBUTE_NONNULL(1);
 
 int qemuMonitorJSONSetWatchdogAction(qemuMonitorPtr mon,