From: Andries.Brouwer@cwi.nl
To: rgooch@ras.ucalgary.ca, torvalds@transmeta.com
Cc: alan@lxorguk.ukuu.org.uk, geert@linux-m68k.org,
hpa@transmeta.com, ingo.oeser@informatik.tu-chemnitz.de,
jgarzik@mandrakesoft.com, linux-kernel@vger.kernel.org,
neilb@cse.unsw.edu.au, viro@math.psu.edu
Subject: Re: LANANA: To Pending Device Number Registrants
Date: Thu, 17 May 2001 02:18:20 +0200 (MET DST) [thread overview]
Message-ID: <UTC200105170018.CAA30316.aeb@vlet.cwi.nl> (raw)
The LANANA discussion has forked into a forest of vaguely related
discussions. If I am not mistaken the only real question is
how user space and kernel space communicate device identities.
Here "user space" is very different from "users".
Devices have a device path and device contents.
For the user it is very desirable to recognize things by contents.
One invents labels and similar schemes, both readable with the eye
and readable with software.
But devices vary quite a lot and labeling schemes vary quite a lot
and user needs vary quite a lot.
Clearly, recognizing a device by contents is something that belongs
to user space.
Of course the kernel can make functions available to simplify
the work of a device manager, but the actual work of making the
correspondence between the identity of a device as seen by the user
and the device path belongs to user space. Be it a boot-time setup
script working from a data base, or a daemon.
(A somewhat weaker function also belongs to user space:
Even if the user has not specified a name for a device
it may be that the device has a serial number or other
recognizable information, so that user space can guess
or be sure that a certain device is the same as something
seen earlier, perhaps before the last reboot.)
That was the user. She thinks about "my boot partition".
And mount sees "UUID=e70bde8e-34d7-11d... /boot ext2 ..."
or "LABEL=Boot /boot ext2 ..." and searches /proc/partitions for
things that, when interpreted as an ext2 filesystem, have
the specified UUID or label.
The communication between user space and kernel is not in terms
of device "contents", since the kernel doesnt know about such
things. The kernel knows only one thing: the device path.
(the driver used, together with all parameters, the port address,
the SCSI ID, the disk subinterval, ...)
But this path is a very complicated object. Moreover, it contains
a lot of items that the user has never heard of. It is a bad idea
to try to use such paths.
So we have: user space has file names and uses open() or mount().
Kernel space has device paths.
In principle the kernel could just number the devices it sees 1,2,...
and export information about them, so that user space can choose
the right number.
The part about exporting information is good. User space needs to
be able to ask if a certain beast is a CD reader, and if so what
manufacturer and model.
But the part about numbering 1,2,... may not be good enough, e.g.
because it does not survive reboots. If we remain Unix-like and use
device nodes in user space to pair a file name with a number, then
it would be very nice if the number encoded the device path uniquely.
Many programs expect this.
It cannot be done in all cases, but a good approximation is obtained
if the number is a hash of the device path. In so far the hash is
collision free we obtain numbers that stay unique over a reboot.
Andries
next reply other threads:[~2001-05-17 0:19 UTC|newest]
Thread overview: 319+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-05-17 0:18 Andries.Brouwer [this message]
2001-05-17 1:18 ` LANANA: To Pending Device Number Registrants Mike Anderson
2001-05-17 2:46 ` Willem Konynenberg
2001-05-17 9:42 ` Michael Meissner
-- strict thread matches above, loose matches on Subject: below --
2001-05-17 20:00 Brian Wheeler
2001-05-18 8:24 ` Tim Jansen
2001-05-18 8:27 ` Alan Cox
2001-05-18 14:06 ` Brian Wheeler
2001-05-17 8:58 Andries.Brouwer
2001-05-17 0:09 Dunlap, Randy
2001-05-16 15:06 Khachaturov, Vassilii
2001-05-16 13:13 Jesse Pollard
2001-05-16 13:11 mike_phillips
2001-05-18 18:23 ` Mark H. Wood
2001-05-16 9:56 Chemolli Francesco (USI)
2001-05-16 11:18 ` Helge Hafting
2001-05-16 12:09 ` Thomas Kotzian
2001-05-16 18:58 ` Heinz J. Mauelshagen
2001-05-17 6:35 ` Albert D. Cahalan
2001-05-17 9:39 ` Guest section DW
2001-05-21 7:16 ` Albert D. Cahalan
2001-05-18 15:57 ` Heinz J. Mauelshagen
2001-05-16 12:12 ` Oystein Viggen
2001-05-16 12:45 ` Josh Fryman
2001-05-16 13:28 ` Helge Hafting
2001-05-16 16:30 ` Miles Lane
2001-05-16 16:18 ` Michael Meissner
2001-05-18 14:17 ` Stephen C. Tweedie
2001-05-19 5:29 ` Chris Wedgwood
2001-05-19 16:43 ` Stephen C. Tweedie
2001-05-19 18:21 ` Hans Reiser
2001-05-19 20:20 ` Michael Meissner
2001-05-21 13:34 ` Stephen C. Tweedie
2001-05-16 18:37 ` Hacksaw
2001-05-16 15:14 ` Jonathan Lundell
2001-05-16 0:01 Bingner Sam J. Contractor RSIS
2001-05-16 11:08 ` Alex Bligh - linux-kernel
2001-05-15 23:49 Bingner Sam J. Contractor RSIS
2001-05-16 7:10 ` Andrzej Krzysztofowicz
2001-05-16 18:25 ` Richard Gooch
2001-05-15 23:16 David Brownell
2001-05-15 23:35 ` Alexander Viro
2001-05-16 0:13 ` David Brownell
2001-05-15 23:56 ` Tim Jansen
2001-05-16 0:41 ` Miles Lane
2001-05-16 16:55 ` James Simmons
2001-05-17 6:12 ` Miles Lane
2001-05-17 12:07 ` Oliver Neukum
2001-05-17 16:34 ` Tim Jansen
2001-05-17 17:03 ` David Brownell
2001-05-17 16:17 ` David Brownell
2001-05-17 16:56 ` James Simmons
2001-05-15 22:49 David Brownell
2001-05-15 22:21 David Brownell
2001-05-15 23:17 ` Andreas Dilger
2001-05-15 23:35 ` David Brownell
2001-05-15 23:55 ` Jonathan Lundell
2001-05-17 18:39 ` Mark H. Wood
2001-05-15 21:27 Timothy A. Seufert
2001-05-15 21:38 ` Alexander Viro
2001-05-16 7:23 ` Geert Uytterhoeven
2001-05-16 15:50 ` Mo McKinlay
2001-05-15 21:26 Andrzej Krzysztofowicz
[not found] <mng==Pine.LNX.4.21.0105151043360.2112-100000@penguin.transmeta.com>
[not found] ` <mng==Pine.LNX.4.10.10105151151380.22038-100000@www.transvirtual.com>
2001-05-15 20:59 ` Jens-Uwe Mager
2001-05-15 17:00 David Balazic
2001-05-16 17:02 ` Hacksaw
2001-05-16 17:19 ` Mathieu Chouquet-Stringer
2001-05-16 20:05 ` James Simmons
2001-05-16 20:13 ` Mathieu Chouquet-Stringer
2001-05-16 20:16 ` James Simmons
2001-05-16 20:21 ` Mathieu Chouquet-Stringer
2001-05-14 19:19 H. Peter Anvin
2001-05-14 19:36 ` Jeff Garzik
2001-05-14 19:57 ` H. Peter Anvin
2001-05-14 20:04 ` Jeff Garzik
2001-05-14 20:09 ` Alan Cox
2001-05-14 20:24 ` Jeff Garzik
2001-05-14 20:27 ` H. Peter Anvin
2001-05-14 22:21 ` Alan Cox
2001-05-14 23:43 ` Jan Niehusmann
2001-05-14 23:48 ` Alan Cox
2001-05-14 20:29 ` Linus Torvalds
2001-05-14 20:55 ` Neil Brown
2001-05-14 21:20 ` Alan Cox
2001-05-14 21:37 ` Neil Brown
2001-05-14 21:24 ` Jeff Garzik
2001-05-14 21:33 ` Neil Brown
2001-05-15 6:41 ` Linus Torvalds
2001-05-15 8:57 ` Alan Cox
2001-05-15 9:08 ` Linus Torvalds
2001-05-15 9:26 ` Alan Cox
2001-05-15 9:49 ` Alexander Viro
2001-05-15 9:51 ` Alan Cox
2001-05-15 10:12 ` Alexander Viro
2001-05-15 10:36 ` Alan Cox
2001-05-15 15:16 ` Linus Torvalds
2001-05-15 20:55 ` Alan Cox
2001-05-15 15:10 ` Linus Torvalds
2001-05-15 15:29 ` Alexander Viro
2001-05-15 17:21 ` James Simmons
2001-05-15 17:25 ` Alexander Viro
2001-05-15 17:29 ` James Simmons
2001-05-15 17:32 ` Alexander Viro
2001-05-15 17:44 ` James Simmons
2001-05-15 18:18 ` Ingo Oeser
2001-05-15 18:36 ` James Simmons
2001-05-15 18:42 ` Alexander Viro
2001-05-16 8:29 ` Helge Hafting
2001-05-16 17:16 ` James Simmons
2001-05-15 21:46 ` Chip Salzenberg
2001-05-15 21:50 ` James Simmons
2001-05-15 18:04 ` Linus Torvalds
2001-05-15 18:58 ` Johannes Erdfelt
2001-05-15 19:17 ` Linus Torvalds
2001-05-15 19:23 ` H. Peter Anvin
2001-05-15 19:43 ` Johannes Erdfelt
2001-05-15 21:58 ` Chip Salzenberg
2001-05-16 8:51 ` Helge Hafting
2001-05-17 10:20 ` Pavel Machek
2001-05-18 17:32 ` Johannes Erdfelt
2001-05-19 10:21 ` Pavel Machek
2001-05-17 20:40 ` Kai Henningsen
2001-05-17 22:46 ` Johannes Erdfelt
2001-05-19 8:18 ` Kai Henningsen
2001-05-15 20:03 ` James Simmons
2001-05-15 20:06 ` H. Peter Anvin
2001-05-15 20:28 ` James Simmons
2001-05-15 21:20 ` Nicolas Pitre
2001-05-15 21:28 ` James Simmons
2001-05-15 21:31 ` H. Peter Anvin
2001-05-16 7:11 ` Kai Henningsen
2001-05-16 7:43 ` Alexander Viro
2001-05-16 9:45 ` Malcolm Beattie
2001-05-15 21:43 ` Johannes Erdfelt
2001-05-15 21:49 ` James Simmons
2001-05-16 7:05 ` Kai Henningsen
2001-05-15 22:07 ` Alan Cox
2001-05-16 0:59 ` Daniel Phillips
2001-05-16 1:34 ` Nicolas Pitre
2001-05-16 1:51 ` Jonathan Lundell
2001-05-16 7:17 ` Kai Henningsen
2001-05-16 11:34 ` Erik Mouw
2001-05-17 17:07 ` Eric W. Biederman
2001-05-17 19:30 ` Jeff Randall
2001-05-15 20:14 ` Alexander Viro
2001-05-15 20:30 ` H. Peter Anvin
2001-05-15 20:41 ` Alexander Viro
2001-05-15 20:51 ` Linus Torvalds
2001-05-16 1:01 ` Daniel Phillips
2001-05-16 1:04 ` H. Peter Anvin
2001-05-15 20:37 ` Linus Torvalds
2001-05-15 20:56 ` Jeff Garzik
2001-05-15 21:22 ` James Simmons
2001-05-17 10:42 ` Pavel Machek
2001-05-18 18:32 ` James Simmons
2001-05-17 20:33 ` Kai Henningsen
2001-05-15 20:57 ` James Simmons
2001-05-15 20:17 ` H. Peter Anvin
2001-05-15 21:59 ` Chip Salzenberg
2001-05-15 22:51 ` James Simmons
2001-05-15 21:22 ` Jan Harkes
2001-05-15 21:39 ` Martin Dalecki
2001-05-15 18:02 ` Ingo Oeser
2001-05-15 19:31 ` Richard Gooch
2001-05-15 19:37 ` H. Peter Anvin
2001-05-15 20:10 ` Alan Cox
2001-05-15 21:41 ` Richard Gooch
2001-05-15 21:47 ` Alexander Viro
2001-05-15 22:24 ` Richard Gooch
2001-05-15 22:27 ` H. Peter Anvin
2001-05-15 22:38 ` Alexander Viro
2001-05-15 22:14 ` Alan Cox
2001-05-15 22:28 ` Richard Gooch
2001-05-15 22:32 ` H. Peter Anvin
2001-05-15 22:33 ` Alan Cox
2001-05-16 7:21 ` Geert Uytterhoeven
2001-05-16 18:22 ` Richard Gooch
2001-05-16 19:36 ` H. Peter Anvin
2001-05-16 20:01 ` Richard Gooch
2001-05-16 20:05 ` H. Peter Anvin
2001-05-16 20:54 ` Richard Gooch
2001-05-16 21:36 ` H. Peter Anvin
2001-05-16 22:11 ` Ingo Oeser
2001-05-16 22:13 ` H. Peter Anvin
2001-05-16 22:21 ` Jens Axboe
2001-05-16 23:03 ` Richard Gooch
2001-05-16 23:25 ` H. Peter Anvin
2001-05-16 23:37 ` Richard Gooch
2001-05-16 23:38 ` H. Peter Anvin
2001-05-16 23:41 ` Richard Gooch
2001-05-16 23:43 ` H. Peter Anvin
2001-05-16 23:49 ` Richard Gooch
2001-05-16 23:55 ` H. Peter Anvin
2001-05-17 21:12 ` Kai Henningsen
2001-05-17 21:06 ` Kai Henningsen
2001-05-16 20:18 ` Linus Torvalds
2001-05-16 20:44 ` Richard Gooch
2001-05-16 23:51 ` Alan Cox
2001-05-16 23:58 ` Richard Gooch
2001-05-17 0:12 ` H. Peter Anvin
2001-05-17 0:24 ` Alan Cox
2001-05-17 1:35 ` Jeff Garzik
2001-05-17 9:33 ` Guest section DW
2001-05-15 20:58 ` Alan Cox
2001-05-15 21:42 ` Chip Salzenberg
2001-05-15 21:46 ` Alexander Viro
2001-05-15 21:57 ` H. Peter Anvin
2001-05-15 22:07 ` Chip Salzenberg
2001-05-15 22:11 ` H. Peter Anvin
2001-05-15 22:18 ` Alan Cox
2001-05-15 21:40 ` Chip Salzenberg
2001-05-15 22:12 ` Alan Cox
2001-05-15 22:19 ` H. Peter Anvin
2001-05-15 22:28 ` Alan Cox
2001-05-15 22:34 ` H. Peter Anvin
2001-05-15 23:39 ` Chip Salzenberg
2001-05-16 20:37 ` Alan Cox
2001-05-15 22:49 ` James Simmons
2001-05-15 23:22 ` Kenneth Johansson
2001-05-15 9:28 ` Alan Cox
2001-05-15 15:15 ` Linus Torvalds
2001-05-15 15:19 ` Jeff Garzik
2001-05-15 15:45 ` Linus Torvalds
2001-05-15 17:27 ` James Simmons
2001-05-15 17:43 ` Linus Torvalds
2001-05-15 18:04 ` Jeff Garzik
2001-05-15 18:15 ` Linus Torvalds
2001-05-15 19:33 ` Kai Henningsen
2001-05-15 19:36 ` Jonathan Lundell
2001-05-15 20:18 ` Linus Torvalds
2001-05-15 20:26 ` Dan Hollis
2001-05-15 22:14 ` Miles Lane
2001-05-15 21:29 ` Alex Bligh - linux-kernel
2001-05-15 21:36 ` Linus Torvalds
2001-05-15 22:03 ` Jeff Mahoney
2001-05-15 22:42 ` Andreas Dilger
2001-05-15 21:51 ` Mark Frazer
2001-05-15 22:35 ` Bob Glamm
2001-05-16 0:56 ` Jonathan Lundell
2001-05-16 2:31 ` Andrew Morton
2001-05-16 6:56 ` Jonathan Lundell
2001-05-16 8:02 ` Vojtech Pavlik
2001-05-16 14:37 ` Jonathan Lundell
2001-05-16 14:57 ` Vojtech Pavlik
2001-05-16 15:24 ` Jonathan Lundell
2001-05-16 12:20 ` Bogdan Costescu
2001-05-16 7:24 ` Geert Uytterhoeven
2001-05-16 23:26 ` Alan Cox
2001-05-16 23:31 ` H. Peter Anvin
2001-05-16 23:53 ` Linus Torvalds
2001-05-17 0:21 ` Alan Cox
2001-05-17 7:57 ` Geert Uytterhoeven
2001-05-17 16:26 ` James Simmons
2001-05-17 6:43 ` Thomas Sailer
2001-05-17 16:58 ` Tim Jansen
2001-05-17 17:18 ` James Simmons
2001-05-17 17:29 ` Geert Uytterhoeven
2001-05-17 17:41 ` Tim Jansen
2001-05-17 22:03 ` Oliver Neukum
2001-05-16 23:52 ` Linus Torvalds
2001-05-17 1:26 ` Joel Becker
2001-05-16 16:04 ` Michael Meissner
2001-05-16 21:36 ` Andreas Dilger
2001-05-17 21:23 ` Kai Henningsen
2001-05-18 2:18 ` Jonathan Lundell
2001-05-19 8:42 ` Kai Henningsen
2001-05-19 17:36 ` Jonathan Lundell
2001-05-20 9:37 ` Eric W. Biederman
2001-05-20 15:54 ` Jonathan Lundell
2001-05-20 14:16 ` Chris Wedgwood
2001-05-20 15:57 ` Jonathan Lundell
2001-05-19 17:45 ` Jonathan Lundell
2001-05-16 7:25 ` Geert Uytterhoeven
2001-05-15 18:19 ` James Simmons
2001-05-15 20:23 ` Alan Cox
2001-05-15 20:28 ` H. Peter Anvin
2001-05-15 21:52 ` Andreas Dilger
2001-05-15 20:02 ` Dan Hollis
2001-05-15 11:44 ` Neil Brown
2001-05-15 15:34 ` Linus Torvalds
2001-05-16 1:00 ` Daniel Phillips
2001-05-16 12:58 ` Jens Axboe
2001-05-16 3:25 ` Neil Brown
2001-05-15 15:51 ` John Fremlin
2001-05-14 21:09 ` Andi Kleen
2001-05-14 23:34 ` Richard Gooch
2001-05-14 21:11 ` Rik van Riel
2001-05-14 21:23 ` Alan Cox
2001-05-15 0:33 ` Rik van Riel
2001-05-16 9:04 ` Ingo Oeser
2001-05-14 21:16 ` Alan Cox
2001-05-14 22:05 ` Alexander Viro
2001-05-14 22:30 ` Alan Cox
2001-05-14 22:48 ` Alexander Viro
2001-05-14 22:46 ` Alan Cox
2001-05-14 22:53 ` Alexander Viro
2001-05-14 22:54 ` H. Peter Anvin
2001-05-14 23:00 ` Alexander Viro
2001-05-14 22:58 ` Alan Cox
2001-05-14 23:29 ` Alexander Viro
2001-05-14 23:39 ` Richard Gooch
2001-05-15 4:20 ` God
2001-05-14 23:18 ` Arjan van de Ven
2001-05-14 23:20 ` Alan Cox
2001-05-15 18:57 ` Kai Henningsen
2001-05-15 5:56 ` Oliver Neukum
2001-05-15 5:59 ` H. Peter Anvin
2001-05-14 22:55 ` Alan Cox
2001-05-14 23:11 ` Dan Hollis
2001-05-14 23:19 ` Alan Cox
2001-05-14 23:23 ` Alexander Viro
2001-05-15 1:10 ` Keith Owens
2001-05-14 21:18 ` Alan Cox
2001-05-14 23:32 ` Richard Gooch
2001-05-14 20:09 ` Richard Gooch
2001-05-14 20:14 ` Jeff Garzik
2001-05-15 17:37 ` Pavel Machek
2001-05-17 11:32 ` Alan Cox
2001-05-16 15:58 ` Kurt Garloff
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=UTC200105170018.CAA30316.aeb@vlet.cwi.nl \
--to=andries.brouwer@cwi.nl \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=geert@linux-m68k.org \
--cc=hpa@transmeta.com \
--cc=ingo.oeser@informatik.tu-chemnitz.de \
--cc=jgarzik@mandrakesoft.com \
--cc=linux-kernel@vger.kernel.org \
--cc=neilb@cse.unsw.edu.au \
--cc=rgooch@ras.ucalgary.ca \
--cc=torvalds@transmeta.com \
--cc=viro@math.psu.edu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox