On 04/03/2013 01:06 PM, Hu Tao wrote:
On Mon, Apr 01, 2013 at 08:00:57PM +0800, Han Cheng wrote:
+struct _virSCSIDevice {
+    unsigned int      adapter;
+    unsigned int      bus;
+    unsigned int      target;
+    unsigned int      unit;
+
+    char          *name;   /* adapter:bus:target:unit */
+    char          *id;     /* model vendor */
+    char          *path;
+    const char    *used_by;           /* name of the domain using this dev */
+
+    unsigned int      readonly : 1;
+};
+
+struct _virSCSIDeviceList {
+    virObjectLockable parent;
+    unsigned int count;
+    virSCSIDevicePtr *devs;
+};

I think it's better to implement a generic object list, otherwise
everytime who wants a list, he/she has to re-implement a list.

I agree with you. And I mentioned it in the cover letter.

+
+static virClassPtr virSCSIDeviceListClass;
+
+static void virSCSIDeviceListDispose(void *obj);
+
+static int virSCSIOnceInit(void)
+{
+    if (!(virSCSIDeviceListClass = virClassNew(virClassForObjectLockable(),
+                                              "virSCSIDeviceList",
+                                              sizeof(virSCSIDeviceList),
+                                              virSCSIDeviceListDispose)))

The indentation style is:

   virClassNew(...
               ...
               ^

Please correct them everywhere in your patches.  You want to have a look
at HACKING for configs of editors.

Sorry about this. This will be fixed.

+
+int virSCSIDeviceFileIterate(virSCSIDevicePtr dev,
+                             virSCSIDeviceFileActor actor,
+                             void *opaque)
+{
+    return (actor)(dev, dev->path, opaque);
+}

What's the difference with directly calling actor?

To be honest, I don't know the difference. Maybe there is no difference.
I just define and use it like vir(pci|usb).c

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

Reply via email to