]> xenbits.xensource.com Git - libvirt.git/commitdiff
qemu: Release PCI slot when detaching disk and net devices
authorJiri Denemark <jdenemar@redhat.com>
Fri, 13 Aug 2010 14:42:15 +0000 (16:42 +0200)
committerJiri Denemark <jdenemar@redhat.com>
Mon, 16 Aug 2010 19:36:59 +0000 (21:36 +0200)
src/qemu/qemu_driver.c

index 45e84fc804008c2b112e392cac6daa15d5791055..f40686a4d7636a52cda219642b5f575738453783 100644 (file)
@@ -8671,6 +8671,10 @@ static int qemudDomainDetachPciDiskDevice(struct qemud_driver *driver,
     }
     qemuDomainObjExitMonitorWithDriver(driver, vm);
 
+    if ((qemuCmdFlags & QEMUD_CMD_FLAG_DEVICE) &&
+        qemuDomainPCIAddressReleaseAddr(priv->pciaddrs, &detach->info) < 0)
+        VIR_WARN("Unable to release PCI address on %s", dev->data.disk->src);
+
     qemudShrinkDisks(vm->def, i);
 
     virDomainDiskDefFree(detach);
@@ -8912,6 +8916,10 @@ qemudDomainDetachNetDevice(struct qemud_driver *driver,
     }
     qemuDomainObjExitMonitorWithDriver(driver, vm);
 
+    if ((qemuCmdFlags & QEMUD_CMD_FLAG_DEVICE) &&
+        qemuDomainPCIAddressReleaseAddr(priv->pciaddrs, &detach->info) < 0)
+        VIR_WARN0("Unable to release PCI address on NIC");
+
     virDomainConfNWFilterTeardown(detach);
 
 #if WITH_MACVTAP