On 09/29/14 20:17, Eric Blake wrote: > On 09/25/2014 06:06 AM, Peter Krempa wrote: >> The current block stats code matched up the disk name with the actual >> stats by the order in the data returned from qemu. This unfortunately >> isn't right as qemu may return the disks in any order. Fix this by >> returning a hash of stats and index them by the disk alias. >> --- >> src/qemu/qemu_driver.c | 44 ++++++++--------- >> src/qemu/qemu_monitor.c | 14 ++---- >> src/qemu/qemu_monitor.h | 6 +-- >> src/qemu/qemu_monitor_json.c | 112 ++++++++++++++++++++----------------------- >> src/qemu/qemu_monitor_json.h | 4 +- >> 5 files changed, 82 insertions(+), 98 deletions(-) >> > >> @@ -1749,56 +1750,62 @@ int qemuMonitorJSONGetBlockStatsInfo(qemuMonitorPtr mon, >> if (flush_total_times) >> *flush_total_times = -1; >> >> - if (qemuMonitorJSONGetAllBlockStatsInfo(mon, dev_name, &stats, 1) != 1) >> + if (qemuMonitorJSONGetAllBlockStatsInfo(mon, &blockstats) < 0) >> goto cleanup; >> >> - *rd_req = stats.rd_req; >> - *rd_bytes = stats.rd_bytes; >> - *wr_req = stats.wr_req; >> - *wr_bytes = stats.wr_bytes; >> + if (!(stats = virHashLookup(blockstats, dev_name))) { > > Maybe slightly less efficient (we now malloc stats for all members, only > to throw away everything but the one we want), but I can live with it. > > ACK; worth having in 1.2.9 > I've pushed this one and I'll hold off the rest until the release. Peter
Attachment:
signature.asc
Description: OpenPGP digital signature
-- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list