[libvirt] [PATCH] Fix migration with qemu 1.6

whitearchey whitearchey at gmail.com
Fri Nov 15 06:52:44 UTC 2013


QEMU 1.6.0 introduced new migration status: setup
Libvirt does not expect such string in QMP and refuses to migrate with error
"unexpected migration status in setup"

This patch fixes it.

diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c
index a3d986f..4b5fdba 100644
--- a/src/qemu/qemu_migration.c
+++ b/src/qemu/qemu_migration.c
@@ -1644,6 +1644,10 @@ qemuMigrationUpdateJobStatus(virQEMUDriverPtr driver,
                         _("%s: %s"), job, _("is not active"));
          break;

+    case QEMU_MONITOR_MIGRATION_STATUS_SETUP:
+        ret = 0;
+        break;
+
      case QEMU_MONITOR_MIGRATION_STATUS_ACTIVE:
          priv->job.info.fileTotal = priv->job.status.disk_total;
          priv->job.info.fileRemaining = priv->job.status.disk_remaining;
diff --git a/src/qemu/qemu_monitor.c b/src/qemu/qemu_monitor.c
index 30315b3..0d4598e 100644
--- a/src/qemu/qemu_monitor.c
+++ b/src/qemu/qemu_monitor.c
@@ -114,7 +114,7 @@ VIR_ONCE_GLOBAL_INIT(qemuMonitor)

  VIR_ENUM_IMPL(qemuMonitorMigrationStatus,
                QEMU_MONITOR_MIGRATION_STATUS_LAST,
-              "inactive", "active", "completed", "failed", "cancelled")
+              "inactive", "active", "completed", "failed", "cancelled", "setup")

  VIR_ENUM_IMPL(qemuMonitorMigrationCaps,
                QEMU_MONITOR_MIGRATION_CAPS_LAST,
diff --git a/src/qemu/qemu_monitor.h b/src/qemu/qemu_monitor.h
index f893b1f..eabf000 100644
--- a/src/qemu/qemu_monitor.h
+++ b/src/qemu/qemu_monitor.h
@@ -397,6 +397,7 @@ enum {
      QEMU_MONITOR_MIGRATION_STATUS_COMPLETED,
      QEMU_MONITOR_MIGRATION_STATUS_ERROR,
      QEMU_MONITOR_MIGRATION_STATUS_CANCELLED,
+    QEMU_MONITOR_MIGRATION_STATUS_SETUP,

      QEMU_MONITOR_MIGRATION_STATUS_LAST
  };




More information about the libvir-list mailing list