]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemu: Introduce QEMU_DOMAIN_JOB_STATS_TYPE_MEMDUMP
authorJohn Ferlan <jferlan@redhat.com>
Thu, 1 Feb 2018 21:07:30 +0000 (16:07 -0500)
committerJohn Ferlan <jferlan@redhat.com>
Tue, 6 Feb 2018 12:37:31 +0000 (07:37 -0500)
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@redhat.com>
src/qemu/qemu_domain.c
src/qemu/qemu_domain.h
src/qemu/qemu_driver.c
src/qemu/qemu_monitor.h

index 7413dd1d01e995100d82df57c6b0200f9625a478..f484e98354e7ff931751f6de120461ef33a42774 100644 (file)
@@ -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;
     }
index 65da256a637f93503752f855dab376b9c1b85d31..57c8d9ce79bb4e931c5d1605a8595a29328c56d6 100644 (file)
@@ -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;
 };
index 4d30e86749b4db0d0a5110dbd57235d7474c3ec9..f581db89b676cd2c1a0e974135ab5b7e67b195ea 100644 (file)
@@ -13232,6 +13232,7 @@ qemuDomainGetJobStatsInternal(virQEMUDriverPtr driver,
             goto cleanup;
         break;
 
+    case QEMU_DOMAIN_JOB_STATS_TYPE_MEMDUMP:
     case QEMU_DOMAIN_JOB_STATS_TYPE_NONE:
         break;
     }
index 67b785e6038530959bd5fea2aa90ee778cf4372a..c58839ca705418e63f9176fd161ea85ab1fd012f 100644 (file)
@@ -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 {