From: Michal Privoznik Date: Sat, 17 Sep 2016 05:05:03 +0000 (+0200) Subject: qemuDomainDefAssignAddresses: Fetch caps from domain object X-Git-Tag: v2.3.0-rc1~9 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4172ae371bc04fc442a1b69142d73198c325d82f;p=thirdparty%2Flibvirt.git qemuDomainDefAssignAddresses: Fetch caps from domain object Just like we did two commits ago, don't try to fetch capabilities for non-existing binary. Re-use the ones we have for running domain. Signed-off-by: Michal Privoznik --- diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index 70fac56d4f..2b24c01112 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -2774,17 +2774,21 @@ qemuDomainDefAssignAddresses(virDomainDef *def, virCapsPtr caps, unsigned int parseFlags ATTRIBUTE_UNUSED, void *opaque, - void *parseOpaque ATTRIBUTE_UNUSED) + void *parseOpaque) { virQEMUDriverPtr driver = opaque; - virQEMUCapsPtr qemuCaps = NULL; + virQEMUCapsPtr qemuCaps = parseOpaque; int ret = -1; bool newDomain = parseFlags & VIR_DOMAIN_DEF_PARSE_ABI_UPDATE; - if (!(qemuCaps = virQEMUCapsCacheLookup(caps, - driver->qemuCapsCache, - def->emulator))) - goto cleanup; + if (qemuCaps) { + virObjectRef(qemuCaps); + } else { + if (!(qemuCaps = virQEMUCapsCacheLookup(caps, + driver->qemuCapsCache, + def->emulator))) + goto cleanup; + } if (qemuDomainAssignAddresses(def, qemuCaps, NULL, newDomain) < 0) goto cleanup;