From 66dbc559a2c28a310f8dee2d411ef8c9faa0e542 Mon Sep 17 00:00:00 2001 From: Chunyan Liu Date: Wed, 5 Mar 2014 19:53:51 +0800 Subject: [PATCH] extract general code from qemuDomainReAttachHostdevDevices --- src/qemu/qemu_hostdev.c | 33 ++++++++++++++++++++++++--------- 1 file changed, 24 insertions(+), 9 deletions(-) diff --git a/src/qemu/qemu_hostdev.c b/src/qemu/qemu_hostdev.c index 7f8f93c048..e5785196bc 100644 --- a/src/qemu/qemu_hostdev.c +++ b/src/qemu/qemu_hostdev.c @@ -1283,18 +1283,18 @@ 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 = driver->hostdevMgr; virObjectLock(hostdev_mgr->activePciHostdevs); virObjectLock(hostdev_mgr->inactivePciHostdevs); @@ -1369,6 +1369,21 @@ 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 = driver->hostdevMgr; + + virHostdevReAttachPCIDevices(hostdev_mgr, name, + hostdevs, nhostdevs, oldStateDir); + virObjectUnref(cfg); } -- GitLab