]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemu: monitor: Extract internals of qemuMonitorJSONBlockGetNamedNodeData
authorPeter Krempa <pkrempa@redhat.com>
Mon, 9 Dec 2019 06:46:53 +0000 (07:46 +0100)
committerPeter Krempa <pkrempa@redhat.com>
Fri, 13 Dec 2019 12:22:55 +0000 (13:22 +0100)
For testing purposes it will be beneficial to be able to parse the data
from JSON directly rather than trying to simulate the monitor. Extract
the worker bits and export them.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
src/qemu/qemu_monitor_json.c
src/qemu/qemu_monitor_json.h

index 9f1c3efb35c807619ccfff79fc7219a5f255e88f..c47ca94dba9e0e54bd6e9246669e1d0cd1d52615 100644 (file)
@@ -2988,14 +2988,10 @@ qemuMonitorJSONBlockGetNamedNodeDataWorker(size_t pos G_GNUC_UNUSED,
 
 
 virHashTablePtr
-qemuMonitorJSONBlockGetNamedNodeData(qemuMonitorPtr mon)
+qemuMonitorJSONBlockGetNamedNodeDataJSON(virJSONValuePtr nodes)
 {
-    g_autoptr(virJSONValue) nodes = NULL;
     g_autoptr(virHashTable) ret = NULL;
 
-    if (!(nodes = qemuMonitorJSONQueryNamedBlockNodes(mon)))
-        return NULL;
-
     if (!(ret = virHashNew((virHashDataFree) qemuMonitorJSONBlockNamedNodeDataFree)))
         return NULL;
 
@@ -3008,6 +3004,18 @@ qemuMonitorJSONBlockGetNamedNodeData(qemuMonitorPtr mon)
 }
 
 
+virHashTablePtr
+qemuMonitorJSONBlockGetNamedNodeData(qemuMonitorPtr mon)
+{
+    g_autoptr(virJSONValue) nodes = NULL;
+
+    if (!(nodes = qemuMonitorJSONQueryNamedBlockNodes(mon)))
+        return NULL;
+
+    return qemuMonitorJSONBlockGetNamedNodeDataJSON(nodes);
+}
+
+
 int qemuMonitorJSONBlockResize(qemuMonitorPtr mon,
                                const char *device,
                                const char *nodename,
index 5d05772fa2033500e1354440f8d25c86c64a1134..44926464b9e900a5911eaa0a9a4a2ca0d3b936b6 100644 (file)
@@ -87,6 +87,9 @@ int qemuMonitorJSONBlockStatsUpdateCapacity(qemuMonitorPtr mon,
 int qemuMonitorJSONBlockStatsUpdateCapacityBlockdev(qemuMonitorPtr mon,
                                                     virHashTablePtr stats);
 
+virHashTablePtr
+qemuMonitorJSONBlockGetNamedNodeDataJSON(virJSONValuePtr nodes);
+
 virHashTablePtr
 qemuMonitorJSONBlockGetNamedNodeData(qemuMonitorPtr mon);