From: Jiri Denemark Date: Mon, 18 Jul 2016 11:17:28 +0000 (+0200) Subject: qemu: Fix migration from old libvirt X-Git-Tag: v2.1.0-rc1~127 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=338f772e923ce07148abe6dcaf3d62b744e7baf5;p=thirdparty%2Flibvirt.git qemu: Fix migration from old libvirt 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 --- diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c index 0b1770b289..463e624733 100644 --- a/src/qemu/qemu_migration.c +++ b/src/qemu/qemu_migration.c @@ -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)))