info->memProcessed = jobInfo->stats.mig.ram_transferred;
break;
+ case QEMU_DOMAIN_JOB_STATS_TYPE_MEMDUMP:
case QEMU_DOMAIN_JOB_STATS_TYPE_NONE:
break;
}
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;
}
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;
qemuDomainJobStatsType statsType;
union {
qemuMonitorMigrationStats mig;
+ qemuMonitorDumpStats dump;
} stats;
qemuDomainMirrorStats mirrorStats;
};
goto cleanup;
break;
+ case QEMU_DOMAIN_JOB_STATS_TYPE_MEMDUMP:
case QEMU_DOMAIN_JOB_STATS_TYPE_NONE:
break;
}
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 {