Messages in this thread | | | Date | Wed, 27 Sep 2006 22:04:51 -0700 | From | Andrew Morton <> | Subject | Re: [PATCH] Illustration of warning explosion silliness |
| |
On Thu, 28 Sep 2006 00:54:31 -0400 Jeff Garzik <jeff@garzik.org> wrote:
> Andrew Morton wrote: > > On Wed, 27 Sep 2006 21:36:28 -0700 > > Andrew Morton <akpm@osdl.org> 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.
That code is flakey. Trace through all the called functions, see all the errors which get ignored.
> > > 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.
Yup.
> But whatever. I give up.
That's the spirit ;)
> I'm going back to working on the libata > warnings each build spits out (iomap).
Thanks. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |