]> xenbits.xensource.com Git - libvirt.git/commitdiff
extract general code of NodeDeviceReset
authorChunyan Liu <cyliu@suse.com>
Thu, 6 Mar 2014 07:14:44 +0000 (15:14 +0800)
committerDaniel P. Berrange <berrange@redhat.com>
Wed, 12 Mar 2014 16:03:06 +0000 (16:03 +0000)
src/qemu/qemu_driver.c

index 97da6b4b2230247134b81d2947616d5f8afef080..8756329ce5d0ded4c8a81cd86bc841257bb38d82 100644 (file)
@@ -11450,6 +11450,25 @@ cleanup:
     return ret;
 }
 
+static int
+virHostdevPciNodeDeviceReset(virHostdevManagerPtr hostdev_mgr,
+                             virPCIDevicePtr pci)
+{
+    int ret = -1;
+
+    virObjectLock(hostdev_mgr->activePciHostdevs);
+    virObjectLock(hostdev_mgr->inactivePciHostdevs);
+    if (virPCIDeviceReset(pci, hostdev_mgr->activePciHostdevs,
+                          hostdev_mgr->inactivePciHostdevs) < 0)
+        goto out;
+
+    ret = 0;
+out:
+    virObjectUnlock(hostdev_mgr->inactivePciHostdevs);
+    virObjectUnlock(hostdev_mgr->activePciHostdevs);
+    return ret;
+}
+
 static int
 qemuNodeDeviceReset(virNodeDevicePtr dev)
 {
@@ -11479,16 +11498,8 @@ qemuNodeDeviceReset(virNodeDevicePtr dev)
     if (!pci)
         goto cleanup;
 
-    virObjectLock(hostdev_mgr->activePciHostdevs);
-    virObjectLock(hostdev_mgr->inactivePciHostdevs);
-    if (virPCIDeviceReset(pci, hostdev_mgr->activePciHostdevs,
-                          hostdev_mgr->inactivePciHostdevs) < 0)
-        goto out;
+    ret = virHostdevPciNodeDeviceReset(hostdev_mgr, pci);
 
-    ret = 0;
-out:
-    virObjectUnlock(hostdev_mgr->inactivePciHostdevs);
-    virObjectUnlock(hostdev_mgr->activePciHostdevs);
     virPCIDeviceFree(pci);
 cleanup:
     virNodeDeviceDefFree(def);