[libvirt] [PATCH 1/5] nodedev: Add locking in nodeNumOfDevices

Cole Robinson crobinso at redhat.com
Fri Oct 2 16:05:01 UTC 2009


Signed-off-by: Cole Robinson <crobinso at redhat.com>
---
 src/node_device/node_device_driver.c |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/src/node_device/node_device_driver.c b/src/node_device/node_device_driver.c
index 93ca28c..c902e7d 100644
--- a/src/node_device/node_device_driver.c
+++ b/src/node_device/node_device_driver.c
@@ -153,10 +153,15 @@ static int nodeNumOfDevices(virConnectPtr conn,
     int ndevs = 0;
     unsigned int i;
 
-    for (i = 0; i < driver->devs.count; i++)
+    nodeDeviceLock(driver);
+    for (i = 0; i < driver->devs.count; i++) {
+        virNodeDeviceObjLock(driver->devs.objs[i]);
         if ((cap == NULL) ||
             dev_has_cap(driver->devs.objs[i], cap))
             ++ndevs;
+        virNodeDeviceObjUnlock(driver->devs.objs[i]);
+    }
+    nodeDeviceUnlock(driver);
 
     return ndevs;
 }
-- 
1.6.5.rc2




More information about the libvir-list mailing list