1
0
mirror of https://gitlab.com/libvirt/libvirt.git synced 2025-03-07 17:28:15 +00:00

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.
This commit is contained in:
Ján Tomko 2016-04-13 09:38:29 +02:00
parent 1922d2f11e
commit 786bc2511a
2 changed files with 13 additions and 19 deletions

View File

@ -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);

View File

@ -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();