From: Chunyan Liu Date: Wed, 5 Mar 2014 11:37:51 +0000 (+0800) Subject: extract general code from qemuPrepareHostdevPCIDevices X-Git-Tag: v1.2.3-rc1~277 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=996af5738781d0953dfe710dd4a1e199673c2673;p=thirdparty%2Flibvirt.git extract general code from qemuPrepareHostdevPCIDevices Extract general code from qemuPrepareHostdevPCIDevices to virHostdevPrepareHostdevPCIDevices. --- diff --git a/src/qemu/qemu_hostdev.c b/src/qemu/qemu_hostdev.c index a95fbb6f86..5dc68a6048 100644 --- a/src/qemu/qemu_hostdev.c +++ b/src/qemu/qemu_hostdev.c @@ -656,24 +656,18 @@ qemuPrepareHostdevPCICheckSupport(virDomainHostdevDefPtr *hostdevs, return true; } - -int -qemuPrepareHostdevPCIDevices(virQEMUDriverPtr driver, - const char *name, - const unsigned char *uuid, - virDomainHostdevDefPtr *hostdevs, - int nhostdevs, - virQEMUCapsPtr qemuCaps, - unsigned int flags) +static int +virHostdevPreparePCIDevices(virHostdevManagerPtr hostdev_mgr, + const char *name, + const unsigned char *uuid, + virDomainHostdevDefPtr *hostdevs, + int nhostdevs, + unsigned int flags) { virPCIDeviceListPtr pcidevs = NULL; int last_processed_hostdev_vf = -1; size_t i; int ret = -1; - virHostdevManagerPtr hostdev_mgr = driver->hostdevMgr; - - if (!qemuPrepareHostdevPCICheckSupport(hostdevs, nhostdevs, qemuCaps)) - goto out; virObjectLock(hostdev_mgr->activePciHostdevs); virObjectLock(hostdev_mgr->inactivePciHostdevs); @@ -857,6 +851,26 @@ cleanup: virObjectUnlock(hostdev_mgr->activePciHostdevs); virObjectUnlock(hostdev_mgr->inactivePciHostdevs); virObjectUnref(pcidevs); + return ret; +} + +int +qemuPrepareHostdevPCIDevices(virQEMUDriverPtr driver, + const char *name, + const unsigned char *uuid, + virDomainHostdevDefPtr *hostdevs, + int nhostdevs, + virQEMUCapsPtr qemuCaps, + unsigned int flags) +{ + int ret = -1; + virHostdevManagerPtr hostdev_mgr = driver->hostdevMgr; + + if (!qemuPrepareHostdevPCICheckSupport(hostdevs, nhostdevs, qemuCaps)) + goto out; + + ret = virHostdevPreparePCIDevices(hostdev_mgr, name, uuid, hostdevs, + nhostdevs, flags); out: return ret; } @@ -1024,7 +1038,7 @@ qemuPrepareHostUSBDevices(virQEMUDriverPtr driver, /* To prevent situation where USB device is assigned to two domains * we need to keep a list of currently assigned USB devices. * This is done in several loops which cannot be joined into one big - * loop. See qemuPrepareHostdevPCIDevices() + * loop. See virHostdevPreparePCIDevices() */ if (!(list = virUSBDeviceListNew())) goto cleanup; @@ -1110,7 +1124,7 @@ qemuPrepareHostdevSCSIDevices(virQEMUDriverPtr driver, /* To prevent situation where SCSI device is assigned to two domains * we need to keep a list of currently assigned SCSI devices. * This is done in several loops which cannot be joined into one big - * loop. See qemuPrepareHostdevPCIDevices() + * loop. See virHostdevPreparePCIDevices() */ if (!(list = virSCSIDeviceListNew())) goto cleanup;