[libvirt] [PATCH] qemu: migration: Relax enforcement of memory hotplug support

If the current live definition does not have memory hotplug enabled, but the persistent one does libvirt would reject migration if the destination does not support memory hotplug even if the user didn't want to persist the VM at the destination and thus the XML containing the memory hotplug definition would not be used. To fix this corner case the code will check for memory hotplug in the newDef only if VIR_MIGRATE_PERSIST_DEST was used. --- src/qemu/qemu_migration.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c index d50d367..1846239 100644 --- a/src/qemu/qemu_migration.c +++ b/src/qemu/qemu_migration.c @@ -2989,7 +2989,8 @@ qemuMigrationBeginPhase(virQEMUDriverPtr driver, } if (vm->def->mem.max_memory || - (vm->newDef && + ((flags & VIR_MIGRATE_PERSIST_DEST) && + vm->newDef && vm->newDef->mem.max_memory)) cookieFlags |= QEMU_MIGRATION_COOKIE_MEMORY_HOTPLUG; -- 2.4.5

On Tue, Sep 08, 2015 at 15:09:37 +0200, Peter Krempa wrote:
If the current live definition does not have memory hotplug enabled, but the persistent one does libvirt would reject migration if the destination does not support memory hotplug even if the user didn't want to persist the VM at the destination and thus the XML containing the memory hotplug definition would not be used. To fix this corner case the code will check for memory hotplug in the newDef only if VIR_MIGRATE_PERSIST_DEST was used. --- src/qemu/qemu_migration.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c index d50d367..1846239 100644 --- a/src/qemu/qemu_migration.c +++ b/src/qemu/qemu_migration.c @@ -2989,7 +2989,8 @@ qemuMigrationBeginPhase(virQEMUDriverPtr driver, }
if (vm->def->mem.max_memory || - (vm->newDef && + ((flags & VIR_MIGRATE_PERSIST_DEST) && + vm->newDef && vm->newDef->mem.max_memory)) cookieFlags |= QEMU_MIGRATION_COOKIE_MEMORY_HOTPLUG;
ACK Jirka

On Tue, Sep 08, 2015 at 20:52:17 +0200, Jiri Denemark wrote:
On Tue, Sep 08, 2015 at 15:09:37 +0200, Peter Krempa wrote:
If the current live definition does not have memory hotplug enabled, but the persistent one does libvirt would reject migration if the destination does not support memory hotplug even if the user didn't want to persist the VM at the destination and thus the XML containing the memory hotplug definition would not be used. To fix this corner case the code will check for memory hotplug in the newDef only if VIR_MIGRATE_PERSIST_DEST was used. --- src/qemu/qemu_migration.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
...
ACKa
Pushed; Thanks. Peter
participants (2)
-
Jiri Denemark
-
Peter Krempa