Define the qemuMonitorDumpStats as a new job JobStatsType to handle
being able to get memory dump statistics. For now do nothing with
the new TYPE_MEMDUMP.
Reviewed-by: Jiri Denemark <jdenemar(a)redhat.com>
Signed-off-by: John Ferlan <jferlan(a)redhat.com>
---
src/qemu/qemu_domain.c | 2 ++
src/qemu/qemu_domain.h | 2 ++
src/qemu/qemu_driver.c | 1 +
src/qemu/qemu_monitor.h | 19 +++++++++++++++++++
4 files changed, 24 insertions(+)
diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
index bdb942f57..a37012a10 100644
--- a/src/qemu/qemu_domain.c
+++ b/src/qemu/qemu_domain.c
@@ -467,6 +467,7 @@ qemuDomainJobInfoToInfo(qemuDomainJobInfoPtr jobInfo,
info->memProcessed = jobInfo->stats.mig.ram_transferred;
break;
+ case QEMU_DOMAIN_JOB_STATS_TYPE_MEMDUMP:
case QEMU_DOMAIN_JOB_STATS_TYPE_NONE:
break;
}
@@ -664,6 +665,7 @@ qemuDomainJobInfoToParams(qemuDomainJobInfoPtr jobInfo,
case QEMU_DOMAIN_JOB_STATS_TYPE_SAVEDUMP:
return qemuDomainMigrationJobInfoToParams(jobInfo, type, params, nparams);
+ case QEMU_DOMAIN_JOB_STATS_TYPE_MEMDUMP:
case QEMU_DOMAIN_JOB_STATS_TYPE_NONE:
break;
}
diff --git a/src/qemu/qemu_domain.h b/src/qemu/qemu_domain.h
index 29a5c7c9a..0bdd98459 100644
--- a/src/qemu/qemu_domain.h
+++ b/src/qemu/qemu_domain.h
@@ -114,6 +114,7 @@ typedef enum {
QEMU_DOMAIN_JOB_STATS_TYPE_NONE = 0,
QEMU_DOMAIN_JOB_STATS_TYPE_MIGRATION,
QEMU_DOMAIN_JOB_STATS_TYPE_SAVEDUMP,
+ QEMU_DOMAIN_JOB_STATS_TYPE_MEMDUMP,
} qemuDomainJobStatsType;
@@ -147,6 +148,7 @@ struct _qemuDomainJobInfo {
qemuDomainJobStatsType statsType;
union {
qemuMonitorMigrationStats mig;
+ qemuMonitorDumpStats dump;
} stats;
qemuDomainMirrorStats mirrorStats;
};
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index 382f03bbe..5e537dc89 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -13240,6 +13240,7 @@ qemuDomainGetJobStatsInternal(virQEMUDriverPtr driver,
ret = 0;
break;
+ case QEMU_DOMAIN_JOB_STATS_TYPE_MEMDUMP:
case QEMU_DOMAIN_JOB_STATS_TYPE_NONE:
break;
}
diff --git a/src/qemu/qemu_monitor.h b/src/qemu/qemu_monitor.h
index 67b785e60..c58839ca7 100644
--- a/src/qemu/qemu_monitor.h
+++ b/src/qemu/qemu_monitor.h
@@ -247,6 +247,25 @@ typedef int (*qemuMonitorDomainBlockThresholdCallback)(qemuMonitorPtr
mon,
void *opaque);
+typedef enum {
+ QEMU_MONITOR_DUMP_STATUS_NONE,
+ QEMU_MONITOR_DUMP_STATUS_ACTIVE,
+ QEMU_MONITOR_DUMP_STATUS_COMPLETED,
+ QEMU_MONITOR_DUMP_STATUS_FAILED,
+
+ QEMU_MONITOR_DUMP_STATUS_LAST,
+} qemuMonitorDumpStatus;
+
+VIR_ENUM_DECL(qemuMonitorDumpStatus)
+
+typedef struct _qemuMonitorDumpStats qemuMonitorDumpStats;
+typedef qemuMonitorDumpStats *qemuMonitorDumpStatsPtr;
+struct _qemuMonitorDumpStats {
+ int status; /* qemuMonitorDumpStatus */
+ unsigned long long completed; /* bytes written */
+ unsigned long long total; /* total bytes to be written */
+};
+
typedef struct _qemuMonitorCallbacks qemuMonitorCallbacks;
typedef qemuMonitorCallbacks *qemuMonitorCallbacksPtr;
struct _qemuMonitorCallbacks {
--
2.13.6