Re: udev event completion order (was: Re: Debian Installer team monthly meeting minutes (20051214 meeting))
On Sun, Dec 18, 2005 at 09:52:42AM +0100, Marco d'Itri wrote:
> On Dec 18, Darren Salt <email@example.com> wrote:
> > An alternative appears to be to process events in series... or maybe delaying
> This was the precedent approach, and it's much slower (also, it cannot
> be implemented anymore with just udevd).
Right, you could request event-by-event from the kernel and wait for it
to finish for devices that you know to have initialized first, but that
sounds like a bad idea.
The whole "device enumeration by module load order"-thing never worked
too reliably and will never work again. Everybody just needs to get used
to the fact that while you can add and remove devices at any point in
time from a running system, it can never give predictable simple enumerations,
like the kernel names are.
We implemented persistent device links for disks, which is on almost all
distros today and SUSE has persistent network device names implemented
by automatically writing udev rules from the device event.
Persistent naming is the way to go and to work on improving and extending
the current system. The /dev/disk/* link model should work for other subsystems
in a similar way, it's just that somebody needs to do it. :)
There is also the plan to do parallel device probing inside the kernel
some day, that will make the situation of relying on kernel names even
I will remove the %e from the udev rules some day too, cause it never
worked correctly outside of udevstart and udevstart is also no longer
recommended to use cause you can't match on event properties which are
only available from the event itself but not in sysfs.