From: Dmitry Andreev Date: Thu, 17 Mar 2016 16:31:44 +0000 (+0300) Subject: qemuMigrationCookieAddPersistent: move it out and change argument type X-Git-Tag: v1.3.4-rc1~169 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=dc311c64eaec8599470a4c6e033764f133c3ad38;p=thirdparty%2Flibvirt.git qemuMigrationCookieAddPersistent: move it out and change argument type This changes allow to use qemuMigrationCookieAddPersistent with an XML definition that isn't assigned to any domain. --- diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c index ecc0aae68a..38c35b4c9c 100644 --- a/src/qemu/qemu_migration.c +++ b/src/qemu/qemu_migration.c @@ -501,7 +501,7 @@ qemuMigrationCookieAddLockstate(qemuMigrationCookiePtr mig, static int qemuMigrationCookieAddPersistent(qemuMigrationCookiePtr mig, - virDomainObjPtr dom) + virDomainDefPtr def) { if (mig->flags & QEMU_MIGRATION_COOKIE_PERSISTENT) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", @@ -509,10 +509,10 @@ qemuMigrationCookieAddPersistent(qemuMigrationCookiePtr mig, return -1; } - if (!dom->newDef) + if (!def) return 0; - mig->persistent = dom->newDef; + mig->persistent = def; mig->flags |= QEMU_MIGRATION_COOKIE_PERSISTENT; mig->flagsMandatory |= QEMU_MIGRATION_COOKIE_PERSISTENT; return 0; @@ -1360,10 +1360,6 @@ qemuMigrationBakeCookie(qemuMigrationCookiePtr mig, qemuMigrationCookieAddLockstate(mig, driver, dom) < 0) return -1; - if (flags & QEMU_MIGRATION_COOKIE_PERSISTENT && - qemuMigrationCookieAddPersistent(mig, dom) < 0) - return -1; - if (flags & QEMU_MIGRATION_COOKIE_NETWORK && qemuMigrationCookieAddNetwork(mig, driver, dom) < 0) { return -1; @@ -4770,11 +4766,12 @@ qemuMigrationRun(virQEMUDriverPtr driver, cookieFlags |= QEMU_MIGRATION_COOKIE_NETWORK | QEMU_MIGRATION_COOKIE_STATS; - if (flags & VIR_MIGRATE_PERSIST_DEST) - cookieFlags |= QEMU_MIGRATION_COOKIE_PERSISTENT; + if (ret == 0 && - qemuMigrationBakeCookie(mig, driver, vm, cookieout, - cookieoutlen, cookieFlags) < 0) { + (((flags & VIR_MIGRATE_PERSIST_DEST && + qemuMigrationCookieAddPersistent(mig, vm->newDef) < 0)) || + qemuMigrationBakeCookie(mig, driver, vm, cookieout, + cookieoutlen, cookieFlags) < 0)) { VIR_WARN("Unable to encode migration cookie"); }