Pass 'true' if we are not dealing with a migration.
---
src/qemu/qemu_domain.c | 3 ++-
src/qemu/qemu_domain_address.c | 3 ++-
src/qemu/qemu_domain_address.h | 3 ++-
src/qemu/qemu_process.c | 7 ++++---
tests/qemuhotplugtest.c | 2 +-
5 files changed, 11 insertions(+), 7 deletions(-)
diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
index 1eb5644..a4c6606 100644
--- a/src/qemu/qemu_domain.c
+++ b/src/qemu/qemu_domain.c
@@ -2426,12 +2426,13 @@ qemuDomainDefAssignAddresses(virDomainDef *def,
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;
diff --git a/src/qemu/qemu_domain_address.c b/src/qemu/qemu_domain_address.c
index ca3adc0..1382a53 100644
--- a/src/qemu/qemu_domain_address.c
+++ b/src/qemu/qemu_domain_address.c
@@ -1622,7 +1622,8 @@ qemuDomainAssignPCIAddresses(virDomainDefPtr def,
int
qemuDomainAssignAddresses(virDomainDefPtr def,
virQEMUCapsPtr qemuCaps,
- virDomainObjPtr obj)
+ virDomainObjPtr obj,
+ bool newDomain ATTRIBUTE_UNUSED)
{
if (qemuDomainAssignVirtioSerialAddresses(def, obj) < 0)
return -1;
diff --git a/src/qemu/qemu_domain_address.h b/src/qemu/qemu_domain_address.h
index 50019b8..ee326d7 100644
--- a/src/qemu/qemu_domain_address.h
+++ b/src/qemu/qemu_domain_address.h
@@ -33,7 +33,8 @@ int qemuDomainSetSCSIControllerModel(const virDomainDef *def,
int qemuDomainAssignAddresses(virDomainDefPtr def,
virQEMUCapsPtr qemuCaps,
- virDomainObjPtr obj)
+ virDomainObjPtr obj,
+ bool newDomain)
ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2);
void qemuDomainReleaseDeviceAddress(virDomainObjPtr vm,
diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c
index 373e7a9..ab0be0c 100644
--- a/src/qemu/qemu_process.c
+++ b/src/qemu/qemu_process.c
@@ -3291,7 +3291,7 @@ qemuProcessReconnect(void *opaque)
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
@@ -4878,7 +4878,8 @@ qemuProcessPrepareDomain(virConnectPtr conn,
* 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)
@@ -6066,7 +6067,7 @@ int qemuProcessAttach(virConnectPtr conn ATTRIBUTE_UNUSED,
* 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)
diff --git a/tests/qemuhotplugtest.c b/tests/qemuhotplugtest.c
index 13055ab..91bf331 100644
--- a/tests/qemuhotplugtest.c
+++ b/tests/qemuhotplugtest.c
@@ -86,7 +86,7 @@ qemuHotplugCreateObjects(virDomainXMLOptionPtr xmlopt,
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)
--
2.7.3