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@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list