Re: 2.6.22-rc2-mm1

From: Kay Sievers
Date: Tue May 29 2007 - 03:57:59 EST


On Mon, 2007-05-28 at 19:22 +0200, Cornelia Huck wrote:
> On Mon, 28 May 2007 00:41:19 +0200,
> "Kay Sievers" <kay.sievers@xxxxxxxx> wrote:
>
> > Cornelia,
> > in the patch is:
> > + if (dev->kobj.parent == &dev->class->subsys.kobj)
> > + return 0;
> >
> > which will skip the creation of the "device"-link, right?
>
> Uh, looking at the code again, this doesn't seem to be what I wanted :(
>
> > But still, I don't think the transaction-style of error handling is
> > what we want, it's for some critical subsystems the equivalent of
> > adding PANIC(), and this just for a failing symlink-creation. I think
> > we just want to print the to the logs, and not let the whole core
> > device registration fail entirely.
>
> Hm, but failure to create a symlink usually signifies something's really
> wrong (no memory, or an object is there which shouldn't)?

Sure, but this is core code, which is used by _all_ drivers and _all_
devices. Subsystems can decide to panic if this appropriate, but generic
core code should probably not make such decisions.

With this change, a single failing symlink (or attribute) for a
scsi/ide/block/... device may crash the whole box during bootup. I'm not
sure that this is what we want.

It's a failure that should be logged (the patch doesn't even add that),
but there is probably no reason to refuse the creation of a device, if
something non-vital like a symlink or attribute fails to be created.

Thanks,
Kay

-
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/