[PATCH v3 2/4] qemuMonitorJSONBlockStatsUpdateCapacity: Don't skip disks

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The function queries the block devices visible to qemu
('query-block') and parses the qemu's output. The info is
returned in a hash table which is expected to be pre-filled by
qemuMonitorJSONGetAllBlockStatsInfo(). However, in the next patch
we are not going to call the latter function at all, so we should
make the former function add devices into the hash table if not
found there.

Signed-off-by: Michal Privoznik <mprivozn@xxxxxxxxxx>
---
 src/qemu/qemu_monitor_json.c | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c
index 6e251b3..162579b 100644
--- a/src/qemu/qemu_monitor_json.c
+++ b/src/qemu/qemu_monitor_json.c
@@ -1889,15 +1889,21 @@ int qemuMonitorJSONBlockStatsUpdateCapacity(qemuMonitorPtr mon,
         if (STRPREFIX(dev_name, QEMU_DRIVE_HOST_PREFIX))
             dev_name += strlen(QEMU_DRIVE_HOST_PREFIX);
 
-        /* ignore missing info */
-        if (!(bstats = virHashLookup(stats, dev_name)))
-            continue;
-
         /* drive may be empty */
         if (!(inserted = virJSONValueObjectGet(dev, "inserted")) ||
             !(image = virJSONValueObjectGet(inserted, "image")))
             continue;
 
+        if (!(bstats = virHashLookup(stats, dev_name))) {
+            if (VIR_ALLOC(bstats) < 0)
+                goto cleanup;
+
+            if (virHashAddEntry(stats, dev_name, bstats) < 0) {
+                VIR_FREE(bstats);
+                goto cleanup;
+            }
+        }
+
         if (virJSONValueObjectGetNumberUlong(image, "virtual-size",
                                              &bstats->capacity) < 0)
             continue;
-- 
2.0.4

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list




[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]