On Sat, May 2, 2009 at 09:19, Christoph Hellwig <hch@xxxxxxxxxxxxx> wrote:On Fri, May 01, 2009 at 03:24:01PM +0200, Kay Sievers wrote:I'm very sure, you can not fix it outside the kernel. Or do you haveJust make sure to queue up your uevents in a ring buffer that udev
an idea how to create the missing device nodes for device without
crawling sysfs, when the first userspace process is started?
can read once it has started?
Which does not really target any of the problems we try to solve, and
is probably even larger than the 300 lines to create the proper /dev
stuff right away. It's about fractions of a second, we are optimizing
for, and we need to start as many things in parallel, as early as
possible. And a working and populated /dev is mandatory for most of
the stuff we need to bring up.
I think the init=/bin/sh case alone would be justification enough to
do that, it can save you a lot of trouble if things go wrong, which
things do, and which is pretty hard to cope with today, with no access
to your devices.
We are not implementing anything crazy here like devfs did, including
the later versions - there is no modprobe behind your back, no lookup
hooks, no stupid new naming scheme, no new filesystem type to
register.
Udev uses the kernel provided names anyway today, there are no naming
rules at all in current userspace for 98 of 100 devices. It's todays
kernel which provides the naming already, and we will not change
anything here, just add the few exceptions, which are only in udev
rules today, and let the kernel create the node that udev will create
anyway.
Thanks,
Kay