Extract general code from qemuDomainReAttachHostdevDevicesi
to virHostdevReAttachPCIDevices
Signed-off-by: Chunyan Liu <cyliu(a)suse.com>
---
src/qemu/qemu_hostdev.c | 41 +++++++++++++++++++++++++++++------------
1 files changed, 29 insertions(+), 12 deletions(-)
diff --git a/src/qemu/qemu_hostdev.c b/src/qemu/qemu_hostdev.c
index bbc85bc..74923a1 100644
--- a/src/qemu/qemu_hostdev.c
+++ b/src/qemu/qemu_hostdev.c
@@ -1299,22 +1299,19 @@ qemuReattachPciDevice(virPCIDevicePtr dev, virHostdevManagerPtr
mgr)
virPCIDeviceFree(dev);
}
-
-void
-qemuDomainReAttachHostdevDevices(virQEMUDriverPtr driver,
- const char *name,
- virDomainHostdevDefPtr *hostdevs,
- int nhostdevs)
+/* @oldStateDir:
+ * For upgrade purpose: see virHostdevNetConfigRestore
+ */
+static void
+virHostdevReAttachPCIDevices(virHostdevManagerPtr hostdev_mgr,
+ const char *name,
+ virDomainHostdevDefPtr *hostdevs,
+ int nhostdevs,
+ char *oldStateDir)
{
virPCIDeviceListPtr pcidevs;
size_t i;
- virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver);
- char *oldStateDir = cfg->stateDir;
- virHostdevManagerPtr hostdev_mgr;
- hostdev_mgr = virHostdevManagerGetDefault();
- if (hostdev_mgr == NULL)
- goto out;
virObjectLock(hostdev_mgr->activePciHostdevs);
virObjectLock(hostdev_mgr->inactivePciHostdevs);
@@ -1388,6 +1385,26 @@ qemuDomainReAttachHostdevDevices(virQEMUDriverPtr driver,
cleanup:
virObjectUnlock(hostdev_mgr->activePciHostdevs);
virObjectUnlock(hostdev_mgr->inactivePciHostdevs);
+
+}
+
+void
+qemuDomainReAttachHostdevDevices(virQEMUDriverPtr driver,
+ const char *name,
+ virDomainHostdevDefPtr *hostdevs,
+ int nhostdevs)
+{
+ virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver);
+ char *oldStateDir = cfg->stateDir;
+ virHostdevManagerPtr hostdev_mgr;
+
+ hostdev_mgr = virHostdevManagerGetDefault();
+ if (hostdev_mgr == NULL)
+ goto out;
+
+ virHostdevReAttachPCIDevices(hostdev_mgr, name,
+ hostdevs, nhostdevs, oldStateDir);
+
out:
virObjectUnref(cfg);
}
--
1.6.0.2