Re: [PATCH] Illustration of warning explosion silliness

From: Jeff Garzik
Date: Thu Sep 28 2006 - 00:54:53 EST


Andrew Morton wrote:
On Wed, 27 Sep 2006 21:36:28 -0700
Andrew Morton <akpm@xxxxxxxx> wrote:

device_for_each_child()

All that being said, device_for_each_child() is rather broken by design. It walks a list of items applying a function to them and bales out on
first-error.

Or, like scsi_sysfs.c, it stops when it meets the first match. Which is a common thing to do.


There's no way in which the caller can know which items have been operated
on, nor which items have yet to be operated on, nor which item experienced
the failure. Any caller which is serious about error recovery presumably
won't use it, unless the callback function happens to be something which
makes no state changes.

A simple integer return error doesn't tell you all that information either. The actor must obviously store that additional information somewhere, if it cares.

But whatever. I give up. I'm going back to working on the libata warnings each build spits out (iomap).

Jeff


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/