mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-08 22:15:21 +00:00
qemuMonitorJSONBlockStatsUpdateCapacity: Don't skip disks
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@redhat.com>
This commit is contained in:
parent
5ab746b83a
commit
a714533b2b
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user