[libvirt] [PATCH] qemu: Properly rename persistent def after migration

Martin Kletzander mkletzan at redhat.com
Tue May 5 06:30:30 UTC 2015


On Mon, May 04, 2015 at 11:02:18PM +0200, Jiri Denemark wrote:
>When migrating a domain while changing its name and using
>VIR_MIGRATE_PERSIST_DEST flag, libvirt would fail to properly change the
>name in the persistent definition. The inconsistency results in weird
>behavior when dumping domain XML, destroying the domain, restarting
>libvirtd and likely in several other situations.
>
>Since the new name is already stored in vm->def->name, we just need to
>make sure the persistent definition uses this new name too.
>
>https://bugzilla.redhat.com/show_bug.cgi?id=1076354
>
>Signed-off-by: Jiri Denemark <jdenemar at redhat.com>
>---
> src/qemu/qemu_migration.c | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
>diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c
>index 20c2193..c1af704 100644
>--- a/src/qemu/qemu_migration.c
>+++ b/src/qemu/qemu_migration.c
>@@ -1392,6 +1392,14 @@ qemuMigrationEatCookie(virQEMUDriverPtr driver,
>                                        flags) < 0)
>         goto error;
>
>+    if (flags & QEMU_MIGRATION_COOKIE_PERSISTENT &&

Shouldn't you rather use mig->flags here?

Then you don't have to check for mig->persistent down here either (but
that doesn't hurt, of course).

>+        mig->persistent &&
>+        STRNEQ(dom->def->name, mig->persistent->name)) {
>+        VIR_FREE(mig->persistent->name);
>+        if (VIR_STRDUP(mig->persistent->name, dom->def->name) < 0)
>+            goto error;
>+    }
>+
>     if (mig->flags & QEMU_MIGRATION_COOKIE_LOCKSTATE) {
>         if (!mig->lockDriver) {
>             if (virLockManagerPluginUsesState(driver->lockManager)) {
>--
>2.4.0
>
>--
>libvir-list mailing list
>libvir-list at redhat.com
>https://www.redhat.com/mailman/listinfo/libvir-list
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20150505/91abfce4/attachment-0001.sig>


More information about the libvir-list mailing list