[libvirt] [RFC v2 1/2] qemu_migration: don't allow ABI changes for persistent migration

Pavel Hrdina phrdina at redhat.com
Tue Mar 7 17:45:23 UTC 2017


So far there is probably no change that is allowed to be done
by the VIR_DOMAIN_DEF_PARSE_ABI_UPDATE flag that would break
guest ABI but this may change in the future.

The other cases where this flag is used is only when we are
defining new domain or adding new device into a domain.

Signed-off-by: Pavel Hrdina <phrdina at redhat.com>
---

This patch is a product of a discussion about the last patch in v1 [1].
Currently we allow ABI changes for persistent migration however it might
be something that user don't expect to be done.

Technically it defines new domain on the destination which would fall
into the same category as defining new domain from scratch without
migration but it may be unexpected behavior because for live migration
we don't allow ABI changes (for obvious reasons).

At first I though that this is correct and we are doing the right thing,
but now I'm not so sure about that and IMHO it would be probably better
to not do ABI updates in this case like we don't do if libvirtd is
restarted (for example because of an update) and also it would be
consistent with the live migration.

[1] <https://www.redhat.com/archives/libvir-list/2017-March/msg00057.html>

 src/qemu/qemu_migration.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c
index f5711bcf74..e45bb45670 100644
--- a/src/qemu/qemu_migration.c
+++ b/src/qemu/qemu_migration.c
@@ -1314,7 +1314,6 @@ qemuMigrationCookieXMLParse(qemuMigrationCookiePtr mig,
         mig->persistent = virDomainDefParseNode(doc, nodes[0],
                                                 caps, driver->xmlopt, NULL,
                                                 VIR_DOMAIN_DEF_PARSE_INACTIVE |
-                                                VIR_DOMAIN_DEF_PARSE_ABI_UPDATE |
                                                 VIR_DOMAIN_DEF_PARSE_SKIP_VALIDATE);
         if (!mig->persistent) {
             /* virDomainDefParseNode already reported
-- 
2.12.0




More information about the libvir-list mailing list