[libvirt] [PATCH 04/11] qemu: report highest offset into block stats

Francesco Romani fromani at redhat.com
Tue Sep 2 12:31:50 UTC 2014


This patch adds the reporting of the highest
block stats written to the block stats.

This information was already there since the
beginning, and doing so we gain the information
provided by GetBlockInfo without entering the
monitor again.

Signed-off-by: Francesco Romani <fromani at redhat.com>
---
 src/qemu/qemu_monitor.h      | 1 +
 src/qemu/qemu_monitor_json.c | 7 +++++++
 2 files changed, 8 insertions(+)

diff --git a/src/qemu/qemu_monitor.h b/src/qemu/qemu_monitor.h
index 1b7d00b..8e16c7d 100644
--- a/src/qemu/qemu_monitor.h
+++ b/src/qemu/qemu_monitor.h
@@ -357,6 +357,7 @@ struct qemuBlockStats {
     long long flush_req;
     long long flush_total_times;
     long long errs; /* meaningless for QEMU */
+    unsigned long long wr_highest_offset;
 };
 
 int qemuMonitorGetAllBlockStatsInfo(qemuMonitorPtr mon,
diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c
index 68c5cf8..31ffb6c 100644
--- a/src/qemu/qemu_monitor_json.c
+++ b/src/qemu/qemu_monitor_json.c
@@ -1880,6 +1880,13 @@ int qemuMonitorJSONGetAllBlockStatsInfo(qemuMonitorPtr mon,
                            "flush_total_time_ns");
             goto cleanup;
         }
+        if (virJSONValueObjectGetNumberUlong(stats, "wr_highest_offset", &blockstats->wr_highest_offset) < 0) {
+            virReportError(VIR_ERR_INTERNAL_ERROR,
+                           _("cannot read %s statistic"),
+                           "wr_highest_offset");
+            goto cleanup;
+        }
+
         blockstats->errs = -1; /* meaningless for QEMU */
 
         ret++;
-- 
1.9.3




More information about the libvir-list mailing list