From: Wolfgang Mauerer Date: Tue, 2 Mar 2010 08:28:26 +0000 (+0100) Subject: Fix PCI address handling when controllers are deleted X-Git-Tag: v0.7.7~39 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=55946f23a6229785b32a8832a5c16780411e3551;p=thirdparty%2Flibvirt.git Fix PCI address handling when controllers are deleted * src/qemu/qemu_driver.c: in qemudDomainDetachPciControllerDevice() when a controller is not present in the system anymore, the PCI address must be deleted from libvirt's hashtable because it can be re-used for other purposes. --- diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index 5394ff59d9..8960ef8925 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -6280,6 +6280,11 @@ static int qemudDomainDetachPciControllerDevice(struct qemud_driver *driver, VIR_FREE(vm->def->controllers); vm->def->ncontrollers = 0; } + + if (qemuDomainPCIAddressReleaseAddr(priv->pciaddrs, &detach->info) < 0) { + VIR_WARN0("Unable to release PCI address on controller"); + } + virDomainControllerDefFree(detach); ret = 0;