On 04/03/2013 01:06 PM, Hu Tao wrote:
On Mon, Apr 01, 2013 at 08:00:57PM +0800, Han Cheng wrote:
+int
+virSCSIDeviceListAdd(virSCSIDeviceListPtr list,
+                     virSCSIDevicePtr dev)
+{
+    if (virSCSIDeviceListFind(list, dev)) {
+        virReportError(VIR_ERR_INTERNAL_ERROR,
+                       _("Device %s is already in use"),
+                       dev->name);
+        return -1;
+    }
+
+    if (VIR_REALLOC_N(list->devs, list->count+1)<  0) {
+        virReportOOMError();
+        return -1;
+    }
+
+    list->devs[list->count++] = dev;

The list is lockable, but you're not protecting it with lock.

Yes.
But for most time, we are manipulating a local list. There is no concurrency problem. The only concurrency problem is about driver->activeScsiHostdevs(type of virSCSIDeviceListPtr). We'll hold the lock if we want manipulate that.

Cheng

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

Reply via email to