virQEMUDriverPtr driver = opaque;
virQEMUCapsPtr qemuCaps = NULL;
int ret = -1;
+ bool newDomain = parseFlags & VIR_DOMAIN_DEF_PARSE_ABI_UPDATE;
if (!(qemuCaps = virQEMUCapsCacheLookup(driver->qemuCapsCache,
def->emulator)))
goto cleanup;
- if (qemuDomainAssignAddresses(def, qemuCaps, NULL) < 0)
+ if (qemuDomainAssignAddresses(def, qemuCaps, NULL, newDomain) < 0)
goto cleanup;
ret = 0;
int
qemuDomainAssignAddresses(virDomainDefPtr def,
virQEMUCapsPtr qemuCaps,
- virDomainObjPtr obj)
+ virDomainObjPtr obj,
+ bool newDomain ATTRIBUTE_UNUSED)
{
if (qemuDomainAssignVirtioSerialAddresses(def, obj) < 0)
return -1;
int qemuDomainAssignAddresses(virDomainDefPtr def,
virQEMUCapsPtr qemuCaps,
- virDomainObjPtr obj)
+ virDomainObjPtr obj,
+ bool newDomain)
ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2);
void qemuDomainReleaseDeviceAddress(virDomainObjPtr vm,
goto cleanup;
}
- if ((qemuDomainAssignAddresses(obj->def, priv->qemuCaps, obj)) < 0)
+ if ((qemuDomainAssignAddresses(obj->def, priv->qemuCaps, obj, false)) < 0)
goto error;
/* if domain requests security driver we haven't loaded, report error, but
* use in hotplug
*/
VIR_DEBUG("Assigning domain PCI addresses");
- if ((qemuDomainAssignAddresses(vm->def, priv->qemuCaps, vm)) < 0)
+ if ((qemuDomainAssignAddresses(vm->def, priv->qemuCaps, vm,
+ !!(flags & VIR_QEMU_PROCESS_START_NEW))) < 0)
goto cleanup;
if (qemuAssignDeviceAliases(vm->def, priv->qemuCaps) < 0)
* use in hotplug
*/
VIR_DEBUG("Assigning domain PCI addresses");
- if ((qemuDomainAssignAddresses(vm->def, priv->qemuCaps, vm)) < 0)
+ if ((qemuDomainAssignAddresses(vm->def, priv->qemuCaps, vm, false)) < 0)
goto error;
if ((timestamp = virTimeStringNow()) == NULL)
VIR_DOMAIN_DEF_PARSE_INACTIVE)))
goto cleanup;
- if (qemuDomainAssignAddresses((*vm)->def, priv->qemuCaps, *vm) < 0)
+ if (qemuDomainAssignAddresses((*vm)->def, priv->qemuCaps, *vm, true) < 0)
goto cleanup;
if (qemuAssignDeviceAliases((*vm)->def, priv->qemuCaps) < 0)