When trying to update an interface's rom settings with an device XML that is missing the PCI addr element, all new rom settings where not applied. https://bugzilla.redhat.com/show_bug.cgi?id=1599513 Signed-off-by: Katerina Koukiou <kkoukiou@xxxxxxxxxx> --- Not sure why we chose to overwrite the whole info before though, I hope that this doesn't cause side problems. src/qemu/qemu_hotplug.c | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c index 1488f0a7c2..f45192b1d3 100644 --- a/src/qemu/qemu_hotplug.c +++ b/src/qemu/qemu_hotplug.c @@ -3445,17 +3445,14 @@ qemuDomainChangeNet(virQEMUDriverPtr driver, goto cleanup; } - /* info: if newdev->info is empty, fill it in from olddev, - * otherwise verify that it matches - nothing is allowed to - * change. (There is no helper function to do this, so - * individually check the few feidls of virDomainDeviceInfo that - * are relevant in this case). + /* info: if newdev->info.addr.pci is empty, fill it in from olddev, + * otherwise verify that it matches. */ if (!virDomainDeviceAddressIsValid(&newdev->info, - VIR_DOMAIN_DEVICE_ADDRESS_TYPE_PCI) && - virDomainDeviceInfoCopy(&newdev->info, &olddev->info) < 0) { - goto cleanup; + VIR_DOMAIN_DEVICE_ADDRESS_TYPE_PCI)) { + newdev->info.addr.pci = olddev->info.addr.pci; } + if (!virPCIDeviceAddressEqual(&olddev->info.addr.pci, &newdev->info.addr.pci)) { virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s", -- 2.17.1 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list