]> xenbits.xensource.com Git - libvirt.git/commitdiff
qemu: Create a proper type for migration status enum
authorJiri Denemark <jdenemar@redhat.com>
Thu, 26 Nov 2015 12:24:31 +0000 (13:24 +0100)
committerJiri Denemark <jdenemar@redhat.com>
Fri, 8 Jan 2016 17:18:58 +0000 (18:18 +0100)
The enum will be called qemuMonitorMigrationStatus.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
src/qemu/qemu_migration.c
src/qemu/qemu_monitor.h
src/qemu/qemu_monitor_json.c

index 839c83c3a3bf41f67258ec950f3db72df984ddff..cd4ed94e6d58d34a3770699bf1ff6e0148a04478 100644 (file)
@@ -2518,7 +2518,7 @@ qemuMigrationWaitForSpice(virDomainObjPtr vm)
 static void
 qemuMigrationUpdateJobType(qemuDomainJobInfoPtr jobInfo)
 {
-    switch (jobInfo->stats.status) {
+    switch ((qemuMonitorMigrationStatus) jobInfo->stats.status) {
     case QEMU_MONITOR_MIGRATION_STATUS_COMPLETED:
         jobInfo->type = VIR_DOMAIN_JOB_COMPLETED;
         break;
@@ -2538,6 +2538,7 @@ qemuMigrationUpdateJobType(qemuDomainJobInfoPtr jobInfo)
     case QEMU_MONITOR_MIGRATION_STATUS_SETUP:
     case QEMU_MONITOR_MIGRATION_STATUS_ACTIVE:
     case QEMU_MONITOR_MIGRATION_STATUS_CANCELLING:
+    case QEMU_MONITOR_MIGRATION_STATUS_LAST:
         break;
     }
 }
index 27ff169b45c237d49c0c6c22ba2cb113fc7a74c6..4f1c8d37e6053f1dc8674e55d241d8aa58b0ac0f 100644 (file)
@@ -455,7 +455,7 @@ int qemuMonitorGetMigrationCacheSize(qemuMonitorPtr mon,
 int qemuMonitorSetMigrationCacheSize(qemuMonitorPtr mon,
                                      unsigned long long cacheSize);
 
-enum {
+typedef enum {
     QEMU_MONITOR_MIGRATION_STATUS_INACTIVE,
     QEMU_MONITOR_MIGRATION_STATUS_SETUP,
     QEMU_MONITOR_MIGRATION_STATUS_ACTIVE,
@@ -465,14 +465,14 @@ enum {
     QEMU_MONITOR_MIGRATION_STATUS_CANCELLED,
 
     QEMU_MONITOR_MIGRATION_STATUS_LAST
-};
+} qemuMonitorMigrationStatus;
 
 VIR_ENUM_DECL(qemuMonitorMigrationStatus)
 
 typedef struct _qemuMonitorMigrationStats qemuMonitorMigrationStats;
 typedef qemuMonitorMigrationStats *qemuMonitorMigrationStatsPtr;
 struct _qemuMonitorMigrationStats {
-    int status;
+    int status; /* qemuMonitorMigrationStatus */
     unsigned long long total_time;
     /* total or expected depending on status */
     bool downtime_set;
index 2d3b358978fa823c2d85c8fea0ed083878a77913..50d05b4424bdb0fcc5f48f5768b69cfafed900a4 100644 (file)
@@ -2425,6 +2425,9 @@ qemuMonitorJSONGetMigrationStatsReply(virJSONValuePtr reply,
                                       qemuMonitorMigrationStatsPtr stats)
 {
     virJSONValuePtr ret;
+    virJSONValuePtr ram;
+    virJSONValuePtr disk;
+    virJSONValuePtr comp;
     const char *statusstr;
     int rc;
     double mbps;
@@ -2464,10 +2467,18 @@ qemuMonitorJSONGetMigrationStatsReply(virJSONValuePtr reply,
                                          &stats->setup_time) == 0)
         stats->setup_time_set = true;
 
-    if (stats->status == QEMU_MONITOR_MIGRATION_STATUS_ACTIVE ||
-        stats->status == QEMU_MONITOR_MIGRATION_STATUS_CANCELLING ||
-        stats->status == QEMU_MONITOR_MIGRATION_STATUS_COMPLETED) {
-        virJSONValuePtr ram = virJSONValueObjectGetObject(ret, "ram");
+    switch ((qemuMonitorMigrationStatus) stats->status) {
+    case QEMU_MONITOR_MIGRATION_STATUS_INACTIVE:
+    case QEMU_MONITOR_MIGRATION_STATUS_SETUP:
+    case QEMU_MONITOR_MIGRATION_STATUS_ERROR:
+    case QEMU_MONITOR_MIGRATION_STATUS_CANCELLED:
+    case QEMU_MONITOR_MIGRATION_STATUS_LAST:
+        break;
+
+    case QEMU_MONITOR_MIGRATION_STATUS_ACTIVE:
+    case QEMU_MONITOR_MIGRATION_STATUS_COMPLETED:
+    case QEMU_MONITOR_MIGRATION_STATUS_CANCELLING:
+        ram = virJSONValueObjectGetObject(ret, "ram");
         if (!ram) {
             virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
                            _("migration was active, but no RAM info was set"));
@@ -2510,7 +2521,7 @@ qemuMonitorJSONGetMigrationStatsReply(virJSONValuePtr reply,
         ignore_value(virJSONValueObjectGetNumberUlong(ram, "normal-bytes",
                                                       &stats->ram_normal_bytes));
 
-        virJSONValuePtr disk = virJSONValueObjectGetObject(ret, "disk");
+        disk = virJSONValueObjectGetObject(ret, "disk");
         if (disk) {
             rc = virJSONValueObjectGetNumberUlong(disk, "transferred",
                                                   &stats->disk_transferred);
@@ -2546,7 +2557,7 @@ qemuMonitorJSONGetMigrationStatsReply(virJSONValuePtr reply,
             }
         }
 
-        virJSONValuePtr comp = virJSONValueObjectGetObject(ret, "xbzrle-cache");
+        comp = virJSONValueObjectGetObject(ret, "xbzrle-cache");
         if (comp) {
             stats->xbzrle_set = true;
             rc = virJSONValueObjectGetNumberUlong(comp, "cache-size",
@@ -2594,6 +2605,7 @@ qemuMonitorJSONGetMigrationStatsReply(virJSONValuePtr reply,
                 return -1;
             }
         }
+        break;
     }
 
     return 0;