On 11/02/10 11:08, Markus Armbruster wrote:
Alexander Graf<ag...@suse.de>  writes:

From: Gerd Hoffmann<kra...@redhat.com>

This patch converts the xen backend code to qdev.

qdev conversions are always welcome.  This one's not complete (search
for #if 0).

It is a tricky one too.

Creating the xen backend device instances is controlled via xenstore (either emulated in case of xenner or xenstored when running on Xen). When creating block/net backends via qemu command line switches all qemu does is creating the xenstore entries. Having a external entity (i.e. xend) creating the xenstore entries works too.

This workflow is a bit hard to fit into the qdev model ...

+    do {
+        done = 1;
+        QLIST_FOREACH(qdev,&xenbus->qbus.children, sibling) {
+            xendev = container_of(qdev, struct XenDevice, qdev);

[ ... ]

+            done = 0;
+            break;
+        }
+    } while (!done);

This loop nest confuses me.  Why can't we just QLIST_FOREACH_SAFE()?

Just historical reasons I guess. QLIST_FOREACH_SAFE() wasn't there from the start but got added later.

cheers,
  Gerd

Reply via email to