]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemu: Fix migration from old libvirt
authorJiri Denemark <jdenemar@redhat.com>
Mon, 18 Jul 2016 11:17:28 +0000 (13:17 +0200)
committerJiri Denemark <jdenemar@redhat.com>
Mon, 18 Jul 2016 15:38:03 +0000 (17:38 +0200)
Older libvirt versions send persistent XML in a migration cookie even
when VIR_MIGRATE_PERSIST_DEST flag is not used, but current libvirt
properly fails if the cookie contains unexpected flags. Thus migration
from old libvirt fails with

    internal error: Unsupported migration cookie feature persistent

unless VIR_MIGRATE_PERSIST_DEST flag is set.

https://bugzilla.redhat.com/show_bug.cgi?id=1320500

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

index 0b1770b28945025b603856b593cb581947fefb09..463e6247331cb8e999b2f53931f4142875c3ae93 100644 (file)
@@ -6183,8 +6183,9 @@ qemuMigrationFinish(virQEMUDriverPtr driver,
     cookie_flags = QEMU_MIGRATION_COOKIE_NETWORK |
                    QEMU_MIGRATION_COOKIE_STATS |
                    QEMU_MIGRATION_COOKIE_NBD;
-    if (flags & VIR_MIGRATE_PERSIST_DEST)
-        cookie_flags |= QEMU_MIGRATION_COOKIE_PERSISTENT;
+    /* Some older versions of libvirt always send persistent XML in the cookie
+     * even though VIR_MIGRATE_PERSIST_DEST was not used. */
+    cookie_flags |= QEMU_MIGRATION_COOKIE_PERSISTENT;
 
     if (!(mig = qemuMigrationEatCookie(driver, vm, cookiein,
                                        cookieinlen, cookie_flags)))