From: Ján Tomko Date: Wed, 13 Apr 2016 07:38:29 +0000 (+0200) Subject: qemu: assign addresses before aliases X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=786bc2511a945a214f3f8ff645ea4333851430c5;p=libvirt.git qemu: assign addresses before aliases The address assigning code might add new pci bridges. We need them to have an alias when building the command line. In real word usage, this is not a problem because all the code paths already call qemuDomainAssignAddresses. However moving this call lets us remove one extra call from qemuxml2argvtest. --- diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index ca8bb580bf..f4aa409b89 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -4998,6 +4998,19 @@ qemuProcessPrepareDomain(virConnectPtr conn, } } + /* + * Normally PCI addresses are assigned in the virDomainCreate + * or virDomainDefine methods. We might still need to assign + * some here to cope with the question of upgrades. Regardless + * we also need to populate the PCI address set cache for later + * use in hotplug + */ + if (virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_DEVICE)) { + VIR_DEBUG("Assigning domain PCI addresses"); + if ((qemuDomainAssignAddresses(vm->def, priv->qemuCaps, vm)) < 0) + goto cleanup; + } + if (qemuAssignDeviceAliases(vm->def, priv->qemuCaps) < 0) goto cleanup; @@ -5021,19 +5034,6 @@ qemuProcessPrepareDomain(virConnectPtr conn, priv->monStart = 0; priv->gotShutdown = false; - /* - * Normally PCI addresses are assigned in the virDomainCreate - * or virDomainDefine methods. We might still need to assign - * some here to cope with the question of upgrades. Regardless - * we also need to populate the PCI address set cache for later - * use in hotplug - */ - if (virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_DEVICE)) { - VIR_DEBUG("Assigning domain PCI addresses"); - if ((qemuDomainAssignAddresses(vm->def, priv->qemuCaps, vm)) < 0) - goto cleanup; - } - ret = 0; cleanup: VIR_FREE(nodeset); diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c index 2a57176180..be7417820e 100644 --- a/tests/qemuxml2argvtest.c +++ b/tests/qemuxml2argvtest.c @@ -311,12 +311,6 @@ static int testCompareXMLToArgvFiles(const char *xml, virQEMUCapsFilterByMachineType(extraFlags, vm->def->os.machine); - if (qemuDomainAssignAddresses(vm->def, extraFlags, NULL)) { - if (flags & FLAG_EXPECT_FAILURE) - goto ok; - goto out; - } - log = virtTestLogContentAndReset(); VIR_FREE(log); virResetLastError();