Re: udev and devfs - The final word
From: Andries Brouwer
Date: Mon Jan 05 2004 - 18:17:53 EST
On Mon, Jan 05, 2004 at 12:38:54PM -0800, Linus Torvalds wrote:
> Have you even _tried_ udev?
Yes, and it works reasonably well. I have version 012 here.
Some flaws will be fixed in 013 or so. Some difficulties are of a
more fundamental type, not so easy to fix. But udev is an entirely
different discussion. Some other time.
> In particular, the kernel should never have policy encoded in it, and
> naming of a device is about pretty much nothing _but_ policy.
Of course. But this is not about naming.
The kernel invents device numbers, and user space names.
Now compare our setups:
dev_t lbt_devno(void) { return random(); }
dev_t aeb_devno(char *s) { dev_t d = hash(s); while (inuse(d)) d++; return d; }
An earlier fragment of the discussion was concerned with the fact
that random(); is a bad idea. Something reproducible is better.
Let us abbreviate the above function f. Some driver determines that
a disk has serial number A809ADGC. Another driver determines that
some device was produced by HP but otherwise has no opinion.
A third driver has no stable information at all about the device.
They assign device numbers f("A809ADGC"), f("HP"), f("").
What is the result? Yes, device numbers are cookies, but a reasonable
attempt has been made to make the device numbers stable.
No guarantees anywhere - this is best effort. Better than no effort.
And this information helps udev. It may make a callout superfluous,
or even give udev information that cannot be obtained from userspace.
Andries
-
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/