* devfs vs udev, thoughts from a devfs user
@ 2004-02-10 11:34 Mike Bell
2004-02-10 13:20 ` Helge Hafting
` (3 more replies)
0 siblings, 4 replies; 59+ messages in thread
From: Mike Bell @ 2004-02-10 11:34 UTC (permalink / raw)
To: linux-kernel
I've been reading a lot lately about udev and how it's both very
different to and much better than devfs, and with _most_ of the reasons
given, I can't see how either is the case. I'd like to lay out why I
think that is.
I keep hearing about how udev has no naming policy in the kenel, while
devfs has a fixed one and if you don't like it tough. But udev relies on
sysfs, which IS naming policy in the kernel. And devfs has devfsd, which
is a userspace daemon that listens to a kernel-exported filesystem (just
like udev) and can create whatever /dev layout you want from that, in
userspace (just like udev). Basically, udev relies on sysfs exporting
device numbers. Well, imagine for a moment sysfs exported actual device
files instead of just the numbers you'd need to make a device file (a
pretty minor change, though not one I'm advocating). What you've got
there is basically devfs and devfsd, right? Not the same
implementation-wise, obviously, but essentially IDENTICAL concepts.
Kernel exports device files to a kernel-generated filesystem, user-space
daemon creates /dev from those with a layout according to your liking.
Meanwhile, devfs (or a devfs-like solution) offer several things which
udev just can't. Having a special kernel-exported filesystem just for
/dev means your user-space daemon can see when a program is trying to
access a device file that doesn't exist yet, you can't do that with
udev and tmpfs. Moreover, it means you've got a functional /dev that
accurately represents the system regardless of whether the user-space
daemon is running yet. With udev, you're stuck with a static /dev unless
udev is running. This can happen when broken system or doing a fresh
installation, or if you accidentally break your udev binary. And heavens
help you if linux ever moves to dynamic device files, that would make a
static /dev completely unusable. Which would in turn mean that your
system is unusable unless udev is running. It's not a big problem, but
myself I find myself using devfs without devfsd for those two reasons
every once in a while, and in those instances devfs is really nice.
So the question is, is a devfs-like implementation really unfixable? And
if not, is it worth whatever disadvantages can't be avoided? On the
matter of memory usage, I'm really not sure why a new devfs couldn't be
tied to the new device model. As I said earlier, it's only a subtle
change from exporting a major and minor in sysfs to exporting a device
file (in newdevfs or wherever). And I haven't heard anyone say devfs's
race conditions are inherent to the idea, just that devfs's
implementation has them.
Finally, from /my/ experience, the one thing people disliked most about
devfs was the long names for hard drive partitions. But isn't one of the
first things on the agenda for 2.7 taking the partition detection code
out of the kernel and replacing it with device-mapper? If you do that,
then the block devices you actually USE are all device mapper created.
They're already controlled by a user-space daemon. The real block
devices are only used when you're partitioning (or LVMing, or EVMSing,
or whatever). The rest of the time, in /etc/fstab or passing to mkfs or
whatever else, you're using the dm devices. Now there's no reason
a new devfs would HAVE to export long and unwieldy names for block
devices, but if the only time you're actually using those names is for
repartitioning, I really wouldn't care if they were long and unwieldy.
It wouldn't show up in fstab, or df, or anywhere else the devfs style
names have made a nuicance of themselves, so who cares?
Sorry if any of these points has already been discussed on
linux-kernel, I don't have time to read the list so I'm going based on
what's been reported in things like kernel-traffic.
^ permalink raw reply [flat|nested] 59+ messages in thread* Re: devfs vs udev, thoughts from a devfs user 2004-02-10 11:34 devfs vs udev, thoughts from a devfs user Mike Bell @ 2004-02-10 13:20 ` Helge Hafting 2004-02-10 14:46 ` Mike Bell [not found] ` <20040210160011.GJ4421@tinyvaio.nome.ca> 2004-02-10 13:32 ` Ian Kent ` (2 subsequent siblings) 3 siblings, 2 replies; 59+ messages in thread From: Helge Hafting @ 2004-02-10 13:20 UTC (permalink / raw) To: Mike Bell; +Cc: linux-kernel Mike Bell wrote: > I've been reading a lot lately about udev and how it's both very > different to and much better than devfs, and with _most_ of the reasons > given, I can't see how either is the case. I'd like to lay out why I > think that is. > > I keep hearing about how udev has no naming policy in the kenel, while > devfs has a fixed one and if you don't like it tough. One of the weakest arguments - who really cares if the kernel sets some device names? Makedev users rarely change those names either, although they can. Those rare cases where you need to rename a device so some stupid binary-only thing can find it is solvable by symlinks. Devfs is dying because nobody bothers fixing it (and it is believed to be a big job). Those who can seems to like udev. No matter what virtues devfs may have - arguments are useless unless someone volunteers to maintain it. I don't think it will disappear if someone does that and does it well, but I am sure it _will_ go if nobody does. A nice concept not yet implemented properly doesn't cut it. > But udev relies on > sysfs, which IS naming policy in the kernel. And devfs has devfsd, which > is a userspace daemon that listens to a kernel-exported filesystem (just > like udev) and can create whatever /dev layout you want from that, in > userspace (just like udev). Basically, udev relies on sysfs exporting > device numbers. Well, imagine for a moment sysfs exported actual device > files instead of just the numbers you'd need to make a device file (a > pretty minor change, though not one I'm advocating). What you've got > there is basically devfs and devfsd, right? Not the same Interesting idea. > implementation-wise, obviously, but essentially IDENTICAL concepts. > Kernel exports device files to a kernel-generated filesystem, user-space > daemon creates /dev from those with a layout according to your liking. > > Meanwhile, devfs (or a devfs-like solution) offer several things which > udev just can't. Having a special kernel-exported filesystem just for > /dev means your user-space daemon can see when a program is trying to > access a device file that doesn't exist yet, Devfs can do this, but it is not necessarily a good thing. I tried it - and it only works if someone tries to look up a particluar name, such as /dev/dsp. It doesn't work when someone does a "ls /dev" to see what devices is there. A "ls /dev/dsp*" didn't find the multiple soundcards for which modules weren't yet loaded. So you can list and see nothing, and still have stuff magically appear _if_ you know what the name ought to be. A hairy concept. Do you know the device name for the second sound device? The point of this is module users - they can delay module loading till the module is needed. Supporting opening of "nonexisting" devices required a trigger mechanism though - devfsd had to know what module to load at lookup time. Non-devfs setups (with or without udev) support a similiar trigger mechanism for module loading, that is simpler to set up and understand. And that is a persistend device node. Plain, simple, and ls sees it too. Open it and the device is loaded as needed. And at open time, not at lookup time. Load at lookup time might not be necessary, after all. devfs gave us a /dev uncluttered by nonexisting hardware - now udev can do that part and some persistent nodes can do the module loading part. > you can't do that with > udev and tmpfs. Moreover, it means you've got a functional /dev that > accurately represents the system regardless of whether the user-space > daemon is running yet. With udev, you're stuck with a static /dev unless > udev is running. I worried about this too, but notice which way the kernel is going. "Essential" stuff like parsing the disk partition tables (or getting a nfs root via dhcp) is being moved out of the kernel and into a early userspace in initramfs. Such a thing _must not_ break, so it is the perfect place to put udev too. It won't break from mere misconfiguration because the initramfs isn't on disk but stuffed into the kernel image where it is safe. Someone who actually disrupts the kernel loose anyway. > This can happen when broken system or doing a fresh > installation, or if you accidentally break your udev binary. Not if it resides in early userspace. Then you need to break the kernel image. > And heavens > help you if linux ever moves to dynamic device files, that would make a > static /dev completely unusable. Which would in turn mean that your > system is unusable unless udev is running. It's not a big problem, but > myself I find myself using devfs without devfsd for those two reasons > every once in a while, and in those instances devfs is really nice. > If devfsd ran out of early userspace then you'd never be without that either. > So the question is, is a devfs-like implementation really unfixable? And It is fixable, but nobody wants to do it. They have another solution they like better. Feel free to fix devfs though, then we'll get choice . . . Helge Hafting ^ permalink raw reply [flat|nested] 59+ messages in thread
* Re: devfs vs udev, thoughts from a devfs user 2004-02-10 13:20 ` Helge Hafting @ 2004-02-10 14:46 ` Mike Bell 2004-02-10 17:02 ` Mark Mielke [not found] ` <20040210160011.GJ4421@tinyvaio.nome.ca> 1 sibling, 1 reply; 59+ messages in thread From: Mike Bell @ 2004-02-10 14:46 UTC (permalink / raw) To: Helge Hafting; +Cc: linux-kernel On Tue, Feb 10, 2004 at 02:20:19PM +0100, Helge Hafting wrote: > No matter what virtues devfs may have - arguments are useless unless > someone volunteers to maintain it. I completely agree. But who would volunteer to spend their time fixing devfs if no one said they wanted devfs, if all evidence says everyone is happy with udev? I just wanted to get out that I'm not, I think devfs (as a concept, not neccessarily the implementation in the kernel right now) has merits udev does not and never will possess, and to see if anyone else agrees. > Interesting idea. I didn't mean it as an idea, hence the bit about not advocating it. I'm just trying to show that they're basically the same thing. The kernel is exporting in file form three pieces of information, character/block, major, and minor whether it's done as an actual device file or not. Trying to show how both are doing the same thing. > Devfs can do this, but it is not necessarily a good thing. > I tried it - and it only works if someone tries to look up > a particluar name, such as /dev/dsp. It doesn't work when someone > does a "ls /dev" to see what devices is there. > A "ls /dev/dsp*" didn't find the multiple soundcards for which > modules weren't yet loaded. Nor would you want it to... Although, it might be handy for something like a SCSI controller. An opendir() in its directory would trigger the kernel to see what's attached to it. Postponing the probing of every LUN until someone goes looking could speed up boot times quite a bit. > I worried about this too, but notice which way the kernel is going. > "Essential" stuff like parsing the disk partition tables (or getting > a nfs root via dhcp) is being moved out of the kernel and into a > early userspace in initramfs. Such a thing _must not_ break, so it > is the perfect place to put udev too. It won't break from mere > misconfiguration because the initramfs isn't on disk but stuffed into > the kernel image where it is safe. Someone who actually disrupts the kernel > loose anyway. That's a point, and one I had thought of. But on the other hand, the kernel also seems to be moving toward exporting information to userspace through simple RAM based filesystems. And while I don't know enough about the internals of these things to say for sure, I wouldn't be surprised if /dev as a special exported filesystem actually took less RAM than /dev on tmpfs, since tmpfs has to be so much more generic (supporting files that can be up to ssize_t long, the sendfile() method so they can be mounted loopback, etc) while a devfs-alike would just be storing small files: devices, symlinks, fifos, etc. Nothing with actual data. > It is fixable, but nobody wants to do it. They have another solution > they like better. Feel free to fix devfs though, then we'll get > choice . . . Well, as I said, no sense in fixing devfs if nobody wants it. udev's author is giving that impression, but I don't feel that way myself and wanted to see if anyone else agreed. ^ permalink raw reply [flat|nested] 59+ messages in thread
* Re: devfs vs udev, thoughts from a devfs user 2004-02-10 14:46 ` Mike Bell @ 2004-02-10 17:02 ` Mark Mielke 0 siblings, 0 replies; 59+ messages in thread From: Mark Mielke @ 2004-02-10 17:02 UTC (permalink / raw) To: Mike Bell; +Cc: Helge Hafting, linux-kernel On Tue, Feb 10, 2004 at 06:46:30AM -0800, Mike Bell wrote: > I didn't mean it as an idea, hence the bit about not advocating it. I'm > just trying to show that they're basically the same thing. The kernel is -------------------------------- Exactly... :-) mark -- mark@mielke.cc/markm@ncf.ca/markm@nortelnetworks.com __________________________ . . _ ._ . . .__ . . ._. .__ . . . .__ | Neighbourhood Coder |\/| |_| |_| |/ |_ |\/| | |_ | |/ |_ | | | | | | \ | \ |__ . | | .|. |__ |__ | \ |__ | Ottawa, Ontario, Canada One ring to rule them all, one ring to find them, one ring to bring them all and in the darkness bind them... http://mark.mielke.cc/ ^ permalink raw reply [flat|nested] 59+ messages in thread
[parent not found: <20040210160011.GJ4421@tinyvaio.nome.ca>]
* Re: devfs vs udev, thoughts from a devfs user [not found] ` <20040210160011.GJ4421@tinyvaio.nome.ca> @ 2004-02-11 9:44 ` Helge Hafting 2004-02-11 20:05 ` Theodore Ts'o 0 siblings, 1 reply; 59+ messages in thread From: Helge Hafting @ 2004-02-11 9:44 UTC (permalink / raw) To: Mike Bell, linux-kernel Mike Bell wrote: > On Tue, Feb 10, 2004 at 02:20:19PM +0100, Helge Hafting wrote: > >>Non-devfs setups (with or without udev) support a similiar trigger >>mechanism for module loading, that is simpler to set up and understand. >>And that is a persistend device node. Plain, simple, and ls sees it too. >>Open it and the device is loaded as needed. And at open time, not >>at lookup time. Load at lookup time might not be necessary, after all. > > > This doesn't work anymore if you move to dynamic device numbers, nor Sure. Completely random device numbers will make this demand loading of device drivers impossible. Either it won't happen (all numbers won't be completely random, although they may get more dynamic than today) or module loading based on device node opening will be deprecated. This won't mean the end of dynamic loading, you will merely need to load modules explicit before you get a device node. > does it work cleanly if /dev is on tmpfs or something else that doesn't > persist between reboots (that's one of the things I like about devfs, > being able to use it with a RO root.) Still possible. Boot script (possibly the udev startup script) copies a handful of device nodes from the RO root into the tmpfs /dev. Helge Hafting ^ permalink raw reply [flat|nested] 59+ messages in thread
* Re: devfs vs udev, thoughts from a devfs user 2004-02-11 9:44 ` Helge Hafting @ 2004-02-11 20:05 ` Theodore Ts'o 0 siblings, 0 replies; 59+ messages in thread From: Theodore Ts'o @ 2004-02-11 20:05 UTC (permalink / raw) To: Helge Hafting; +Cc: Mike Bell, linux-kernel On Wed, Feb 11, 2004 at 10:44:10AM +0100, Helge Hafting wrote: > Sure. Completely random device numbers will make this demand loading of > device drivers impossible. Either it won't happen (all numbers won't be > completely random, although they may get more dynamic than today) or > module loading based on device node opening will be deprecated. It could be made to work. You could have a magic device number, say (255,255), which means "unloaded device driver", which causes a hotplug callout, and a SIGSTOP sent to the process that tried the open. The userspace program would then be responsible for loading the relevant device driver, converting the /dev file to the correct dynamic major/minor number, and then sending a SIGCONT to the process, which would then either restart the open() or the open() would return -EAGAIN. It would be kinda hairy, in that the kernel would need to know whether or not userspace had accepted responsibility for handling these calls (if it didn't open() would just return -ENODEV as it does today). So it might not be worth doing, but if people really cared about it, it could indeed be done. - Ted ^ permalink raw reply [flat|nested] 59+ messages in thread
* Re: devfs vs udev, thoughts from a devfs user 2004-02-10 11:34 devfs vs udev, thoughts from a devfs user Mike Bell 2004-02-10 13:20 ` Helge Hafting @ 2004-02-10 13:32 ` Ian Kent 2004-02-10 14:00 ` Mike Bell 2004-02-10 17:01 ` Greg KH 2004-02-10 18:35 ` Greg KH 3 siblings, 1 reply; 59+ messages in thread From: Ian Kent @ 2004-02-10 13:32 UTC (permalink / raw) To: Mike Bell; +Cc: linux-kernel Please lets not start another thread that gets us nowhere. I'm only marginally familiar with devfs and I don't use on a day to day basis (but maybe I do now that I have a Gentoo install) but from what I have seen.... On Tue, 10 Feb 2004, Mike Bell wrote: > > I keep hearing about how udev has no naming policy in the kernel, while > devfs has a fixed one and if you don't like it tough. But udev relies on >From what I can see devfs doesn't have much naming policy in the kernel. It appears to be mostly in devfsd. > > Meanwhile, devfs (or a devfs-like solution) offer several things which > udev just can't. Having a special kernel-exported filesystem just for > /dev means your user-space daemon can see when a program is trying to > access a device file that doesn't exist yet, you can't do that with > udev and tmpfs. Moreover, it means you've got a functional /dev that > accurately represents the system regardless of whether the user-space > daemon is running yet. With udev, you're stuck with a static /dev unless > udev is running. This can happen when broken system or doing a fresh > installation, or if you accidentally break your udev binary. And heavens > help you if linux ever moves to dynamic device files, that would make a > static /dev completely unusable. Which would in turn mean that your > system is unusable unless udev is running. It's not a big problem, but > myself I find myself using devfs without devfsd for those two reasons > every once in a while, and in those instances devfs is really nice. > OK so udev is an alternative under active development. Good, life is all about choices. > So the question is, is a devfs-like implementation really unfixable? And Yes. I tried using devfs and see there is a lot of work to do to make it acceptable quality but .... see below ... > > Finally, from /my/ experience, the one thing people disliked most about > devfs was the long names for hard drive partitions. But isn't one of the I happen to like those names. > first things on the agenda for 2.7 taking the partition detection code > out of the kernel and replacing it with device-mapper? If you do that, > then the block devices you actually USE are all device mapper created. Oh, more work before we begin. > > Sorry if any of these points has already been discussed on > linux-kernel, I don't have time to read the list so I'm going based on > what's been reported in things like kernel-traffic. There is another problem. There is no coherent support group to develop, test and disseminate the product. I've been subscribed to the mailing list for a while now and have seen only one message. Nothing is going to be fixed if the people that would like to use it don't get together to support it and develop it. It's not as if people aren't making an effort. Andrey Borzenkov appears to have implemented some significant fixes for devfs and Bradley Chapman has been maintaining a branch of devfsd which is a much cleaner restructuring of the devfsd code. But Bradley has no way to get this code debugged and out to the user public. So if devfs is needed by people then we must get together and do what is needed to support and develop the product. Lets not forget that, at this point, udev is a recommended replacement for devfs, but is (I believe) still in development. So it may well happen that udev is an appropriate replacement for devfs at some point and that must be considered fairly and sensibly when the time comes. Ian ^ permalink raw reply [flat|nested] 59+ messages in thread
* Re: devfs vs udev, thoughts from a devfs user 2004-02-10 13:32 ` Ian Kent @ 2004-02-10 14:00 ` Mike Bell 0 siblings, 0 replies; 59+ messages in thread From: Mike Bell @ 2004-02-10 14:00 UTC (permalink / raw) To: Ian Kent; +Cc: linux-kernel On Tue, Feb 10, 2004 at 09:32:57PM +0800, Ian Kent wrote: > So if devfs is needed by people then we must get together and do what is > needed to support and develop the product. > > Lets not forget that, at this point, udev is a recommended replacement for > devfs, but is (I believe) still in development. So it may well happen > that udev is an appropriate replacement for devfs at some point and that > must be considered fairly and sensibly when the time comes. I agree that if udev is going to be maintained while devfs is left to rot, udev is the way to go. My post was because the impression I got from the udev author's posts was that devfs was dead and udev was the designated successor, and superior in every way. Only when I really looked at the arguments did I start to question. So really, I was trying to ensure I was correct about devfs (or the concept, at least) still offerring some things that the udev concept never will, and to see if there were other people who would still like to see devfs (or a devfs-alike, reimplemented without its various problems) live on. It's pretty hard to form a user community for devfs when it has been declared dead and its successor named, but that's very much the impression I get from the udev author's posts (or at least those reproduced in places like kernel-traffic). So yeah, not an attempt to start a flamewar, I just wanted to register myself as someone who doesn't see udev as the ideal solution, and see if there were any others. ^ permalink raw reply [flat|nested] 59+ messages in thread
* Re: devfs vs udev, thoughts from a devfs user 2004-02-10 11:34 devfs vs udev, thoughts from a devfs user Mike Bell 2004-02-10 13:20 ` Helge Hafting 2004-02-10 13:32 ` Ian Kent @ 2004-02-10 17:01 ` Greg KH 2004-02-10 17:13 ` Mike Bell 2004-02-10 17:55 ` Mike Bell 2004-02-10 18:35 ` Greg KH 3 siblings, 2 replies; 59+ messages in thread From: Greg KH @ 2004-02-10 17:01 UTC (permalink / raw) To: Mike Bell; +Cc: linux-kernel On Tue, Feb 10, 2004 at 03:34:18AM -0800, Mike Bell wrote: > I've been reading a lot lately about udev and how it's both very > different to and much better than devfs, and with _most_ of the reasons > given, I can't see how either is the case. I'd like to lay out why I > think that is. Did you read: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev_vs_devfs > Basically, udev relies on sysfs exporting > device numbers. Well, imagine for a moment sysfs exported actual device > files instead of just the numbers you'd need to make a device file (a > pretty minor change, though not one I'm advocating). But that is not what sysfs does. And sysfs will not do this. So this point is moot. > Sorry if any of these points has already been discussed on > linux-kernel, I don't have time to read the list so I'm going based on > what's been reported in things like kernel-traffic. They pretty much all have been in the past. Try reading the archives, that's what they are there for :) greg k-h ^ permalink raw reply [flat|nested] 59+ messages in thread
* Re: devfs vs udev, thoughts from a devfs user 2004-02-10 17:01 ` Greg KH @ 2004-02-10 17:13 ` Mike Bell 2004-02-10 17:25 ` Greg KH 2004-02-10 17:52 ` Chris Friesen 2004-02-10 17:55 ` Mike Bell 1 sibling, 2 replies; 59+ messages in thread From: Mike Bell @ 2004-02-10 17:13 UTC (permalink / raw) To: Greg KH; +Cc: linux-kernel On Tue, Feb 10, 2004 at 09:01:57AM -0800, Greg KH wrote: > Did you read: > http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev_vs_devfs Yes, I've read everything since the original OLS one, and liked udev less and less with each one. > But that is not what sysfs does. And sysfs will not do this. So this > point is moot. No, you misunderstand. I'm not suggesting that sysfs /should/ export device files. I'm saying that sysfs exporting type/major/minor as files is not really that different from exporting full-fledged device files. Making udev a sort of ugly-hack devfsd. ^ permalink raw reply [flat|nested] 59+ messages in thread
* Re: devfs vs udev, thoughts from a devfs user 2004-02-10 17:13 ` Mike Bell @ 2004-02-10 17:25 ` Greg KH 2004-02-10 17:46 ` Mike Bell 2004-02-10 19:10 ` Shawn 2004-02-10 17:52 ` Chris Friesen 1 sibling, 2 replies; 59+ messages in thread From: Greg KH @ 2004-02-10 17:25 UTC (permalink / raw) To: Mike Bell; +Cc: linux-kernel On Tue, Feb 10, 2004 at 09:13:39AM -0800, Mike Bell wrote: > On Tue, Feb 10, 2004 at 09:01:57AM -0800, Greg KH wrote: > > Did you read: > > http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev_vs_devfs > > Yes, I've read everything since the original OLS one, and liked udev > less and less with each one. Fine, that's your option. I'm not forcing you to use udev, yet :) > > But that is not what sysfs does. And sysfs will not do this. So this > > point is moot. > > No, you misunderstand. I'm not suggesting that sysfs /should/ export > device files. I'm saying that sysfs exporting type/major/minor as files > is not really that different from exporting full-fledged device files. > Making udev a sort of ugly-hack devfsd. No that is not what sysfs is about at all. sysfs exports the internal device tree that the kernel knows so that userspace can use this information for all sorts of different things (proper power management, etc.) Please go read all of the sysfs and driver model documentation (and OLS and linux.conf.au papers) for more details about what sysfs and the driver core is all about. And claiming udev as "a sort of ugly-hack devfsd" is pretty harsh. Given that udev uses a documented, open interface, and easily allows _any_ program to run from it, no matter what the language. Try reading the devfsd code some time, or getting it to run your perl script to name a single type of device :) Anyway, I'm done with this devfs vs. udev arguments that in the end go nowhere. See that document for my position. If you like devfs, fine, use it. If you don't, take a look at udev. And if you like neither, then either create your own solution, or don't use either. thanks, greg k-h ^ permalink raw reply [flat|nested] 59+ messages in thread
* Re: devfs vs udev, thoughts from a devfs user 2004-02-10 17:25 ` Greg KH @ 2004-02-10 17:46 ` Mike Bell 2004-02-10 18:12 ` Greg KH 2004-02-10 19:10 ` Shawn 1 sibling, 1 reply; 59+ messages in thread From: Mike Bell @ 2004-02-10 17:46 UTC (permalink / raw) To: Greg KH; +Cc: linux-kernel On Tue, Feb 10, 2004 at 09:25:52AM -0800, Greg KH wrote: > No that is not what sysfs is about at all. sysfs exports the internal > device tree that the kernel knows so that userspace can use this > information for all sorts of different things (proper power management, > etc.) Please go read all of the sysfs and driver model documentation > (and OLS and linux.conf.au papers) for more details about what sysfs and > the driver core is all about. I think you still misunderstand what I'm saying. All I'm saying is that with either way, kernel is exporting three pieces of information (b/c, major, minor) to userspace through file(s) on an artificial filesystem. That's it. I know what sysfs is for, I like sysfs the way it is, I'm not saying sysfs should be changed in any way. I'm saying that to create a device with a given name, udev uses magic files exported by the kernel, and devfsd uses magic file(s) exported by the kernel, and in both cases they contain the same information. And hence in that sense devfs and udev are the same. That's it. What I'm trying to explain by that point is that udev is no more "naming policy in the kernel" free than devfsd. devfsd relies on devfs, which has naming policy in the kernel. udev relies on sysfs, which has naming policy in the kernel. While devfs and sysfs are radically different, they serve the same purpose for devfsd/udev. > And claiming udev as "a sort of ugly-hack devfsd" is pretty harsh. > Given that udev uses a documented, open interface, and easily allows > _any_ program to run from it, no matter what the language. Try reading > the devfsd code some time, or getting it to run your perl script to name > a single type of device :) That's something udev does pretty well, and not quite what I meant. I like devfs, defined for the time being as a working tree of device files exported by the kernel as a virtual filesystem. For managing permissions, user-space-dictated device names, and whatever else, I don't care if you call it devfsd or udev or whatever else. I don't like udev primarily because it tries to do the job without the help of a devfs, and I think trying to do that makes it ugly. > If you like devfs, fine, use it. If you don't, take a look at udev. Which was the point of my email. "Hey, I like devfs over udev. Am I alone in this, or are there others?" As I stated at the start. ^ permalink raw reply [flat|nested] 59+ messages in thread
* Re: devfs vs udev, thoughts from a devfs user 2004-02-10 17:46 ` Mike Bell @ 2004-02-10 18:12 ` Greg KH 2004-02-10 18:29 ` Mike Bell 0 siblings, 1 reply; 59+ messages in thread From: Greg KH @ 2004-02-10 18:12 UTC (permalink / raw) To: Mike Bell; +Cc: linux-kernel On Tue, Feb 10, 2004 at 09:46:04AM -0800, Mike Bell wrote: > On Tue, Feb 10, 2004 at 09:25:52AM -0800, Greg KH wrote: > > No that is not what sysfs is about at all. sysfs exports the internal > > device tree that the kernel knows so that userspace can use this > > information for all sorts of different things (proper power management, > > etc.) Please go read all of the sysfs and driver model documentation > > (and OLS and linux.conf.au papers) for more details about what sysfs and > > the driver core is all about. > > I think you still misunderstand what I'm saying. All I'm saying is that > with either way, kernel is exporting three pieces of information (b/c, > major, minor) to userspace through file(s) on an artificial filesystem. No, that is not true. devfs exports the device node itself. It does not just export the major:minor number. devfs also does not export the position within the entire device tree, which sysfs does. They are two completely different filesystems, doing two completely different things. Please do not confuse them. > That's it. I know what sysfs is for, I like sysfs the way it is, I'm not > saying sysfs should be changed in any way. I'm saying that to create a > device with a given name, udev uses magic files exported by the kernel, > and devfsd uses magic file(s) exported by the kernel, and in both cases > they contain the same information. And hence in that sense devfs and > udev are the same. That's it. But the main point is that udev is in userspace, and devfs is in the kernel. You forgot that :) > What I'm trying to explain by that point is that udev is no more "naming > policy in the kernel" free than devfsd. devfsd relies on devfs, which > has naming policy in the kernel. udev relies on sysfs, which has naming > policy in the kernel. While devfs and sysfs are radically different, > they serve the same purpose for devfsd/udev. sysfs has no such "naming policy". It merely exports the name that the kernel happened to give the device, using the LSB naming scheme. It does not rely on driver substems to create subdirectories for their devices, nor export their own nested naming schemes. sysfs merely exports the info that the kernel knows about a device, by which udev creates a device node. devfs exports the device node, and then lets devfsd override that node and create other stuff. Please also do not overlook the fragility of the devfs->devfsd interface. It is binary, relies on 1 sender and 1 receiver, and doesn't allow any other programs to get this info. udev uses the hotplug interface, a well documented, ascii interface that anyone can hook into by merely dropping a symlink into a subdirectory. Vastly different. > > And claiming udev as "a sort of ugly-hack devfsd" is pretty harsh. > > Given that udev uses a documented, open interface, and easily allows > > _any_ program to run from it, no matter what the language. Try reading > > the devfsd code some time, or getting it to run your perl script to name > > a single type of device :) > > That's something udev does pretty well, and not quite what I meant. I > like devfs, defined for the time being as a working tree of device files > exported by the kernel as a virtual filesystem. For managing > permissions, user-space-dictated device names, and whatever else, I > don't care if you call it devfsd or udev or whatever else. I don't like > udev primarily because it tries to do the job without the help of a > devfs, and I think trying to do that makes it ugly. But the point is that udev does not require such a interface as devfs to get the job done. devfsd does. > > If you like devfs, fine, use it. If you don't, take a look at udev. > > Which was the point of my email. "Hey, I like devfs over udev. Am I > alone in this, or are there others?" As I stated at the start. Providing specific examples of what you find lacking in udev would be constructive. Saying, "I don't like it as it doesn't feel right to me" is merely wanting to pick a fight. I'm done with this thread, greg k-h ^ permalink raw reply [flat|nested] 59+ messages in thread
* Re: devfs vs udev, thoughts from a devfs user 2004-02-10 18:12 ` Greg KH @ 2004-02-10 18:29 ` Mike Bell 2004-02-10 22:19 ` Matthew Reppert 2004-02-13 21:19 ` Greg KH 0 siblings, 2 replies; 59+ messages in thread From: Mike Bell @ 2004-02-10 18:29 UTC (permalink / raw) To: linux-kernel On Tue, Feb 10, 2004 at 10:12:42AM -0800, Greg KH wrote: > No, that is not true. devfs exports the device node itself. It does > not just export the major:minor number. That's a pretty minor difference, from the kernel's point of view. It's basically putting the same numbers in different fields. > devfs also does not export the position within the entire device tree, > which sysfs does. devfs tried to do just that. sysfs does it better though. I don't see what that has to do with my point. > They are two completely different filesystems, doing two completely > different things. Please do not confuse them. sysfs and devfs are very different. I said they both accomplish one common goal, sysfs for udev and devfs for devfsd. > But the main point is that udev is in userspace, and devfs is in the > kernel. You forgot that :) No I didn't. udev is userspace, devfsd is userspace. devfs is kernel space, sysfs is kernel space. They're the same. > sysfs has no such "naming policy". It merely exports the name that the > kernel happened to give the device, using the LSB naming scheme. It > does not rely on driver substems to create subdirectories for their > devices, nor export their own nested naming schemes. But sysfs is still setting naming policy in the kernel. Because you didn't write the kernelspace static names in question, they don't exist? > sysfs merely exports the info that the kernel knows about a device, by > which udev creates a device node. devfs merely exports information the kernel knows, by which devfsd can create device nodes. > devfs exports the device node, and then lets devfsd override that node > and create other stuff. And sysfs exports files that are (from a kernel point of view) very nearly a device node. > Please also do not overlook the fragility of the devfs->devfsd > interface. It is binary, relies on 1 sender and 1 receiver, and doesn't > allow any other programs to get this info. Didn't say the current devfs was a good implementation of the concept. Said I liked a devfs-like concept. > But the point is that udev does not require such a interface as devfs to > get the job done. devfsd does. Yes it does, it requires sysfs. > Providing specific examples of what you find lacking in udev would be > constructive. Saying, "I don't like it as it doesn't feel right to me" > is merely wanting to pick a fight. udev tries to do the job without a devfs. I said that already. I think there should be a kernel exported filesystem with kernel-created device nodes, and that udev's role should continue to do something similar to what it does now (manage permissions and user-supplied names), only on that kernel-exported filesystem. ^ permalink raw reply [flat|nested] 59+ messages in thread
* Re: devfs vs udev, thoughts from a devfs user 2004-02-10 18:29 ` Mike Bell @ 2004-02-10 22:19 ` Matthew Reppert 2004-02-11 1:10 ` Mike Bell 2004-02-11 10:05 ` Helge Hafting 2004-02-13 21:19 ` Greg KH 1 sibling, 2 replies; 59+ messages in thread From: Matthew Reppert @ 2004-02-10 22:19 UTC (permalink / raw) To: Mike Bell; +Cc: linux-kernel [-- Attachment #1: Type: text/plain, Size: 4342 bytes --] As always, not flaming ... On Tue, 2004-02-10 at 12:29, Mike Bell wrote: > On Tue, Feb 10, 2004 at 10:12:42AM -0800, Greg KH wrote: > > > > devfs also does not export the position within the entire device tree, > > which sysfs does. > > devfs tried to do just that. sysfs does it better though. I don't see > what that has to do with my point. The point is illustrating differences between devfs and sysfs, since you seem to be saying "they do the same thing" over and over, when really, they don't. > > But the main point is that udev is in userspace, and devfs is in the > > kernel. You forgot that :) > > No I didn't. udev is userspace, devfsd is userspace. devfs is kernel > space, sysfs is kernel space. They're the same. At the very least, sysfs' and devfs' approaches to devices differ in philosophy. devfs says "here's a device node, you can tell where it is in the bus hierarchy by looking at its filename". sysfs, on the other hand, says "here's the device hierarchy", and gives you enough information to create device nodes for each point in the hierarchy if you wish to do so. > > sysfs has no such "naming policy". It merely exports the name that the > > kernel happened to give the device, using the LSB naming scheme. It > > does not rely on driver substems to create subdirectories for their > > devices, nor export their own nested naming schemes. > > But sysfs is still setting naming policy in the kernel. Because you > didn't write the kernelspace static names in question, they don't exist? This is kind of like saying "bzImage sets root partition location policy because it uses whatever was the root partition when you made the image". Which is bogus, that's what root= is for. sysfs is in no way setting naming policy by exporting the LSB naming scheme. First of all, sysfs isn't even creating the device nodes - that, of course, is udev's (or whatever else you might want to use) job. You're right, actually - if you're using udev, files the sysfs static names *don't* exist - *unless* your udev is configured to use them. If not, then obviously the sysfs names don't matter at all. > > sysfs merely exports the info that the kernel knows about a device, by > > which udev creates a device node. > > devfs merely exports information the kernel knows, by which devfsd can > create device nodes. As I understand it, devfs actually creates device nodes, but devfsd can request that the names be changed. (Granted, my understanding of the Linux devfs implementation is far from complete.) "Exporting the information into device nodes" is kind of silly to claim as a minimal exercise, when creating the device nodes is the end goal of the software. > > devfs exports the device node, and then lets devfsd override that node > > and create other stuff. > > And sysfs exports files that are (from a kernel point of view) very > nearly a device node. This is like arguing that a file named foo with an accompanying file named foo.acl is "very nearly" a file with an ACL. Or, more dramatically, like equating a nuclear warhead with instructions on making U-238. The information is there in sysfs, granted, but it's not in a directly usable form by itself. > > But the point is that udev does not require such a interface as devfs to > > get the job done. devfsd does. > > Yes it does, it requires sysfs. ps requires /proc :3 The difference between sysfs and devfs, in this regard, is fairly simple. By just turning on devfs support, you've suddenly changed the behaviour of the system (device node creation and naming) once /dev is mounted. By turning on sysfs, the behaviour of the system doesn't change at all, even when /sys is mounted. > > Providing specific examples of what you find lacking in udev would be > > constructive. Saying, "I don't like it as it doesn't feel right to me" > > is merely wanting to pick a fight. > > udev tries to do the job without a devfs. I said that already. I think > there should be a kernel exported filesystem with kernel-created device > nodes, Why should the kernel create the device nodes? Sure, it's "just an extra step", but the general Linux philosophy is that "just extra steps" don't belong inside the kernel. Why should the kernel do more work? Matt [-- Attachment #2: This is a digitally signed message part --] [-- Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 59+ messages in thread
* Re: devfs vs udev, thoughts from a devfs user 2004-02-10 22:19 ` Matthew Reppert @ 2004-02-11 1:10 ` Mike Bell 2004-02-11 10:05 ` Helge Hafting 1 sibling, 0 replies; 59+ messages in thread From: Mike Bell @ 2004-02-11 1:10 UTC (permalink / raw) To: Matthew Reppert; +Cc: linux-kernel On Tue, Feb 10, 2004 at 04:19:28PM -0600, Matthew Reppert wrote: > At the very least, sysfs' and devfs' approaches to devices differ in > philosophy. devfs says "here's a device node, you can tell where it is > in the bus hierarchy by looking at its filename". sysfs, on the other > hand, says "here's the device hierarchy", and gives you enough information > to create device nodes for each point in the hierarchy if you wish to do > so. I don't see how that is the case. devfs doesn't do anywhere near as good a job exporting info about the system's state as sysfs, wouldn't dream of disputing that. But to me, /dev/scsi/host0/bus0/target0/lun0/disc and /sys/bus/scsi/drivers/sd/0:0:0:0/block/dev are the same philosophy. > This is kind of like saying "bzImage sets root partition location policy > because it uses whatever was the root partition when you made the image". > Which is bogus, that's what root= is for. No, that's not what I mean at all. > sysfs is in no way setting naming policy by exporting the LSB naming scheme. > First of all, sysfs isn't even creating the device nodes - that, of course, > is udev's (or whatever else you might want to use) job. You're right, > actually - if you're using udev, files the sysfs static names *don't* exist - > *unless* your udev is configured to use them. If not, then obviously the > sysfs names don't matter at all. No no, I'm not saying sysfs is setting /dev's naming policy. I'm saying that no one is ranting and raving about how userspace should be able to change the names of sysfs files using a userspace daemon. devfs specifies a path in the kernel, > This is like arguing that a file named foo with an accompanying file named > foo.acl is "very nearly" a file with an ACL. Or, more dramatically, like > equating a nuclear warhead with instructions on making U-238. The information > is there in sysfs, granted, but it's not in a directly usable form by itself. So how is that better? :) Not that I'm suggesting sysfs should have device files in it, but why is it a winning point for sysfs to be able to say "hey, look, I don't export a device file, but a file which carries exactly the same information but with less utility, since you have to use that information to create ANOTHER file". My point was that both filesystems are exporting that information to userspace, at least devfs does it in a way where the product is useful with or without a userspace daemon. > The difference between sysfs and devfs, in this regard, is fairly simple. By > just turning on devfs support, you've suddenly changed the behaviour of the > system (device node creation and naming) once /dev is mounted. By turning on > sysfs, the behaviour of the system doesn't change at all, even when /sys is > mounted. But I wasn't arguing they weren't different, I was arguing that they both have naming policy in the kernel. As long as the user can specify their own names as well, why is it "naming policy in the kernel" to specify a hardcoded path in /dev, but not if you specify a hardcoded path in /sys? > Why should the kernel create the device nodes? Sure, it's "just an extra > step", but the general Linux philosophy is that "just extra steps" don't > belong inside the kernel. Why should the kernel do more work? Not even an extra step, more a different step. Not "more" work, the same work in a different way. And it should because then you have a working /dev with guaranteed names. ^ permalink raw reply [flat|nested] 59+ messages in thread
* Re: devfs vs udev, thoughts from a devfs user 2004-02-10 22:19 ` Matthew Reppert 2004-02-11 1:10 ` Mike Bell @ 2004-02-11 10:05 ` Helge Hafting 1 sibling, 0 replies; 59+ messages in thread From: Helge Hafting @ 2004-02-11 10:05 UTC (permalink / raw) To: Matthew Reppert; +Cc: Mike Bell, linux-kernel Matthew Reppert wrote: > At the very least, sysfs' and devfs' approaches to devices differ in > philosophy. devfs says "here's a device node, you can tell where it is > in the bus hierarchy by looking at its filename". sysfs, on the other > hand, says "here's the device hierarchy", and gives you enough information > to create device nodes for each point in the hierarchy if you wish to do > so. > There's an interesting security implication here. I used to think "why don't they make a device node instead of exporting numbers, udev could then simply make a link to it" It'd be simpler, and the minimalists could use the node in sysf directly. The security advantage is that we don't get a device with some default permissions that might get abused. The udev config can decide to create a node with stricter than usual permissions, or decide to not make the node at all. Helge Hafting ^ permalink raw reply [flat|nested] 59+ messages in thread
* Re: devfs vs udev, thoughts from a devfs user 2004-02-10 18:29 ` Mike Bell 2004-02-10 22:19 ` Matthew Reppert @ 2004-02-13 21:19 ` Greg KH 2004-02-14 8:51 ` Mike Bell 1 sibling, 1 reply; 59+ messages in thread From: Greg KH @ 2004-02-13 21:19 UTC (permalink / raw) To: Mike Bell; +Cc: linux-kernel On Tue, Feb 10, 2004 at 10:29:44AM -0800, Mike Bell wrote: > On Tue, Feb 10, 2004 at 10:12:42AM -0800, Greg KH wrote: > > No, that is not true. devfs exports the device node itself. It does > > not just export the major:minor number. > > That's a pretty minor difference, from the kernel's point of view. It's > basically putting the same numbers in different fields. Heh, that's a HUGE difference! I think you are missing a few things here: - sysfs is not only for exporting device major:minor info. It's for a 1001 other very useful things. You can't config out sysfs, you get it for "free" with 2.6. So it isn't a "choose sysfs vs. devfs" argument at all. It's a "do I want to enable devfs or not" issue. - sysfs exports loads of info about every device in your system, not only the major:minor info. It exports what device this major:minor is assigned to, the topology of the device, the fact that it has vendor id FOO and product id BAR, and serial number "123". devfs has none of this. - you get /sbin/hotplug calls for "free" too. Yes, you can config this out, but the added benefits of hotplug calls far outweigh any memory savings you get for not enabling this option (embedded systems not included.) So, if you put hotplug and sysfs together, udev can control your /dev. And it can provide persistent device naming, which on its own, devfs can not. Again, the fact that udev can do everything devfs can (manage a /dev), in userspace, and in less memory, is a big win in my eyes. Oh, and recall that I implemented a "dynamic /dev" with LSB names almost a year ago, in 6Kb of userspace code. The amount of memory that this takes for devfs to do I don't really want to imagine... > > devfs also does not export the position within the entire device tree, > > which sysfs does. > > devfs tried to do just that. sysfs does it better though. I don't see > what that has to do with my point. persistent device names... That's the main point of udev. > > They are two completely different filesystems, doing two completely > > different things. Please do not confuse them. > > sysfs and devfs are very different. I said they both accomplish one > common goal, sysfs for udev and devfs for devfsd. Not at all. sysfs has 1001 goals at the least. So many different people are using it for different things that it's really amazing to me. It also shows how powerful and how correct the model of it is. And as stated above, you always get sysfs in your kernel (unless you are running the -tiny tree...) I'm not going to try to answer all of your other questions specifically, as I think I have covered them all now. If you feel that you still have some questions remaining about this, or that I have not explained anything good enough, please let me know. thanks, greg k-h ^ permalink raw reply [flat|nested] 59+ messages in thread
* Re: devfs vs udev, thoughts from a devfs user 2004-02-13 21:19 ` Greg KH @ 2004-02-14 8:51 ` Mike Bell 2004-02-14 9:13 ` Christian Borntraeger 2004-02-14 16:54 ` Greg KH 0 siblings, 2 replies; 59+ messages in thread From: Mike Bell @ 2004-02-14 8:51 UTC (permalink / raw) To: Greg KH; +Cc: linux-kernel On Fri, Feb 13, 2004 at 01:19:20PM -0800, Greg KH wrote: > > That's a pretty minor difference, from the kernel's point of view. It's > > basically putting the same numbers in different fields. > > Heh, that's a HUGE difference! Only from userspace's point of view. To the kernel, it's basically the same thing. Now keeping in mind again that I'm not advocating putting device nodes into sysfs, what about a little thought experiment. Supposing you did replace sysfs's major:minor text file with a real device node, which I contest is basically the same thing for the kernel. You've got yourself devfs right there. Sure, the names are unusably long for actual /dev use, but when it comes down to it that's all it is. Your kernel now creates all your device nodes for you automatically, just like that. Now, here's a question. What's wrong with taking those and splitting them into a new filesystem? As I see it, part of the reason procfs became such a nightmare was because people thought there could be only one kernel-generated filesystem and put everything in there. Linux is moving a lot of the silly magic values out of proc and into sysfs where they make more sense. Great! But what about stuff that doesn't really fit into sysfs as it is right now? Should we take sysfs's clean interface and extend it with special cases until it's the ugly mess proc is? Or leave everything that doesn't fit cleanly into sysfs in proc, making proc a sort of special-cases wasteland? Alternativly, why not say that there doesn't need to be just one or two kernel-exported filesystems, and instead make a sort of library for exporting kernel information via fake filesystems (I can't remember, has this already been done?), and make one for every purpose - that does one thing and does it well? procfs could do processes and processes alone. A seperate filesystem could handle sysctls, sysfs could focus on devices and how they're attached to the system as it (mostly) does now. And then devfs is just one more filesystem of many. I'm not a kernel hacker, but if they all share common code so functionality isn't duplicated (ie, procfs and sysfs and whatever else use the same mechanisms to write stuff instead of each doing the exact same thing with their own code) I don't see why it would neccessarily be more than a miniscule overhead, like what's imposed by using lots of small partitions instead of one giant /. So yeah, that's a rather longwinded way of saying "Sure, it can be done in sysfs. That's not the question, the question is whether sysfs is the BEST place to do it." If elsewhere gets you more functionality, I'd say no. It all comes down to the overhead of a new kernel filesystem versus the benefits you get. And while the only way to really know would be to code it, I think kernel filesystems could be made very cheap. Maybe even resulting in a net reduction in memory use as /proc is cleaned up. So it wouldn't take much added functionality to make it worth the while. > - you get /sbin/hotplug calls for "free" too. Yes, you can config this > out, but the added benefits of hotplug calls far outweigh any memory > savings you get for not enabling this option (embedded systems not > included.) How do you figure that's free? hotplug's a great feature, nothing against it, but as far as I know the vast majority of installations aren't making use of it right now. So how does it become free if you're taking something that can be turned off, which you aren't using right now, and using it for udev? I'm very confused by the way you define free and not free, it seems to be a sort of "I like this interface, so I would have enabled whether I was using it or not, therefore it's effectivly free!" system. :) > So, if you put hotplug and sysfs together, udev can control your /dev. > And it can provide persistent device naming, which on its own, devfs can > not. Absolutely. But again, you're talking about udev and devfs, when you should talk about udev and devfsd. The question isn't whether it can be done using udev (though there are still several things a devfs can do that to my knowledge udev can't) but whether it is the BEST way of doing it. As I see it, whether you call it udev or devfsd it's a userspace daemon that handles names (whether alternate or not) and permissions and the like. The question isn't udev versus devfs, it's what is the cleanest and best interface for this userspace daemon (which you need in any configuration) to use to talk to the kernel? When I object to udev, it's not to the idea of a userspace daemon that manages permissions, I don't see how you can do away with that. It's to the way udev talks to the kernel, and on a non-technical front the way your perceptions of udev versus devfs result in what I see as misleading "udev versus devfs" claims. > Not at all. sysfs has 1001 goals at the least. So many different > people are using it for different things that it's really amazing to me. > It also shows how powerful and how correct the model of it is. I didn't say sysfs was there only to serve udev. I said they're both accomplishing one common goal. So what if sysfs does 1001 other things as well? Does that mean I can tack some lame-brained extension on to sysfs and say "hey look, you may hate what I'm doing, but sysfs does 1001 other things as well, and they're all good, therefore what I'm doing is good as well"? Again, I like sysfs. At least most of it, I'm a bit concerned about stuff like /sys/power/disk and /sys/fs. That seems a lot like the thin end of the wedge toward what /proc became. Sure, you've got the one-value-per-file, which is a great cleanup, but if that keeps going we may wind up with the same insane namespace pollution we've got in /proc right now, ie we've solved only half the problem of /proc. sysfs's core undoubtedly had the right idea though, the values in it all make sense in how they're layed out. > And as stated above, you always get sysfs in your kernel (unless you are > running the -tiny tree...) So what happens if that particular patch makes it into the mainline kernel? To me saying sysfs is free isn't a good argument, even though I like it and include it in all my kernels (despite the fact I don't use udev). On an only semi-related note, I've been thinking about the whole "naming policy in the kernel" thing. This is only tangentally related to my comments about udev and devfs, but I'm wondering if anyone REALLY needs to be able to specify non-default names for devices. For instance, does anyone out there modify their BSD system to have more linuxy device names, or vice-versa? Or when people talk about not setting naming policy for dev in the kernel, are they REALLY saying "I don't like the scheme you thought up"? As I've said before, no one objects to sysfs's naming in the kernel, no one wants to assign every sysfs node a number and keep the names out of the kernel. Same for any number of interfaces that the kernel exports. Why is dev special? Would devfs has been more popular if it had been more conservative with its naming scheme? Do we really need more than one layout for /dev? Or are objections based less around the need for everyone's dev to be different, and more around people not having agreed on one good layout yet? I'm of the opinion that one common layout for /dev is a GOOD thing, it makes things predictable between systems. Do you want to be completely unable to guess what device your mouse is, because distribution X uses one name while Y uses another? I heard that udev gives one common dev layout (LSB) but the kernel could do the same. The difference is that udev makes it much easier to completely replace the LSB layout with a different one. But do any people really need completely different layouts so badly that we should be making that need one of the key architectural design points? (It's right there in udev_vs_devfs, number one of three design points.) Sure there are cases where you might need one or two alternate device names (like classifying your devices in some completely non-obvious way, say /dev/PrintersWithinWalkingDistance/ and /dev/PrintersOnTheOtherSideOfTheOffice) but is that something you need to focus on, or could it be better handled with symlinks, or "as well as" device nodes? Assuming for the moment udev is the right way to go, /dev management wise, and LSB is the best /dev layout imaginable, mightn't it make sense to actually make it HARDER to override LSB defaults so people are encouraged to use the symlinks method, and so the various distributions don't drift apart? Freedom of choice is all well and good, but that doesn't mean you should optimise for chaos. ^ permalink raw reply [flat|nested] 59+ messages in thread
* Re: devfs vs udev, thoughts from a devfs user 2004-02-14 8:51 ` Mike Bell @ 2004-02-14 9:13 ` Christian Borntraeger 2004-02-14 11:42 ` Helge Hafting 2004-02-14 16:54 ` Greg KH 1 sibling, 1 reply; 59+ messages in thread From: Christian Borntraeger @ 2004-02-14 9:13 UTC (permalink / raw) To: Mike Bell, Greg KH; +Cc: linux-kernel Mike Bell wrote: > On Fri, Feb 13, 2004 at 01:19:20PM -0800, Greg KH wrote: > > > That's a pretty minor difference, from the kernel's point of view. > > > It's basically putting the same numbers in different fields. > > > > Heh, that's a HUGE difference! > > Only from userspace's point of view. To the kernel, it's basically the > same thing. No. Giving a major and minor number is simple. Creating a device node means: you have to define a policy. Now the kernel has to think about: - user id - group id - access rights - naming These are the reasons why devfsd was/is necessary for devfs. A Kernel should only enforce a policy, it should not define it. cheers Christian ^ permalink raw reply [flat|nested] 59+ messages in thread
* Re: devfs vs udev, thoughts from a devfs user 2004-02-14 9:13 ` Christian Borntraeger @ 2004-02-14 11:42 ` Helge Hafting 0 siblings, 0 replies; 59+ messages in thread From: Helge Hafting @ 2004-02-14 11:42 UTC (permalink / raw) To: Christian Borntraeger; +Cc: Mike Bell, Greg KH, linux-kernel On Sat, Feb 14, 2004 at 10:13:50AM +0100, Christian Borntraeger wrote: > Mike Bell wrote: > > On Fri, Feb 13, 2004 at 01:19:20PM -0800, Greg KH wrote: > > > > That's a pretty minor difference, from the kernel's point of view. > > > > It's basically putting the same numbers in different fields. > > > > > > Heh, that's a HUGE difference! > > > > Only from userspace's point of view. To the kernel, it's basically the > > same thing. > > No. Giving a major and minor number is simple. > Creating a device node means: you have to define a policy. Now the kernel > has to think about: > - user id > - group id > - access rights > - naming > > These are the reasons why devfsd was/is necessary for devfs. > A Kernel should only enforce a policy, it should not define it. > There is one more security-related point: We may decide to not make the device node at all, in order to prevent use of some dangerous/experimental device or driver. We can't do that if the device is auto-created. Root is usually capable of running mknod of course, but it can be prevented. For example with a fs that starts out rw but is remounted ro with no option for going back. Or /dev on cdrom . . . Helge Hafting ^ permalink raw reply [flat|nested] 59+ messages in thread
* Re: devfs vs udev, thoughts from a devfs user 2004-02-14 8:51 ` Mike Bell 2004-02-14 9:13 ` Christian Borntraeger @ 2004-02-14 16:54 ` Greg KH 2004-02-14 17:44 ` Alex Goddard 2004-02-19 9:47 ` Mike Bell 1 sibling, 2 replies; 59+ messages in thread From: Greg KH @ 2004-02-14 16:54 UTC (permalink / raw) To: Mike Bell; +Cc: linux-kernel On Sat, Feb 14, 2004 at 12:51:11AM -0800, Mike Bell wrote: > On Fri, Feb 13, 2004 at 01:19:20PM -0800, Greg KH wrote: > > > That's a pretty minor difference, from the kernel's point of view. It's > > > basically putting the same numbers in different fields. > > > > Heh, that's a HUGE difference! > > Only from userspace's point of view. To the kernel, it's basically the > same thing. Woah, no this is NOT true. If you continue to this this, then this discussion is going to go no where. Remember, the "dev" file in sysfs is just another attribute for the device. Just like a serial number or product id. A device node would be a totally different thing. See all of the other messages from others about why this is true. > Now keeping in mind again that I'm not advocating putting device nodes > into sysfs, what about a little thought experiment. Supposing you did > replace sysfs's major:minor text file with a real device node Stop right there and go read the archives for why we are not going to do this. This has been discussed a lot. > Now, here's a question. What's wrong with taking those and splitting > them into a new filesystem? Because then you have devfs, which is not what we are trying to do here. It seems that you are insisting that we have to make a devfs. Great, have fun, use the devfs we already have. > As I see it, part of the reason procfs > became such a nightmare was because people thought there could be only > one kernel-generated filesystem and put everything in there. Not true. procfs got to be a mess for lots of other reasons (lack of control, no other options, etc...) > Linux > is moving a lot of the silly magic values out of proc and into sysfs > where they make more sense. Great! But what about stuff that doesn't > really fit into sysfs as it is right now? Should we take sysfs's clean > interface and extend it with special cases until it's the ugly mess proc > is? No, and I'm not advocating that at all, and never have. That's not the point here. > Or leave everything that doesn't fit cleanly into sysfs in proc, > making proc a sort of special-cases wasteland? No, go make your own fs if that's what is needed. See the IBM service processor driver filesystem for an example of something like this. > Alternativly, why not say that there doesn't need to be just one or two > kernel-exported filesystems, and instead make a sort of library for > exporting kernel information via fake filesystems (I can't remember, has > this already been done?) already been done, see the libfs code. I don't understand what this has to do with udev though.... > I'm not a kernel hacker Stop. Go read http://ometer.com/hacking.com Especially pay attention to the section "Back-seat coders are bad." I specifically like the lines: If you don't know how to code, then you don't know how to design the software either. Period. You can only cause trouble. So my main point is, I don't know what you are arguing anymore. If you don't like udev, and for some reason think that devfs and devfsd can provide you a stable, secure, and PERSISTENT device naming system, then fine, go use devfs. The rest of us will be over here using udev. (Remember you still haven't told me how you are going to name your scsi disk and USB printer in a persistent manner no matter how they are discovered using devfsd.) > How do you figure that's free? hotplug's a great feature, nothing > against it, but as far as I know the vast majority of installations > aren't making use of it right now. Hint, I don't know of ANY distro that does not enable CONFIG_HOTPLUG that is not a embedded distro. That's why I call it "free". It has so many other benefits that people can no longer turn it off and expect their systems to work "nicely". In conclusion, if you have any problems with udev, how it works, how it is configured, etc., I'm very glad to hear them and help you through it. But if you just want to complain about how we all should be using devfs and devfsd instead of sysfs and udev, you are going to get no where with me. thanks, greg k-h ^ permalink raw reply [flat|nested] 59+ messages in thread
* Re: devfs vs udev, thoughts from a devfs user 2004-02-14 16:54 ` Greg KH @ 2004-02-14 17:44 ` Alex Goddard 2004-02-15 8:16 ` Andrew Walrond 2004-02-19 9:47 ` Mike Bell 1 sibling, 1 reply; 59+ messages in thread From: Alex Goddard @ 2004-02-14 17:44 UTC (permalink / raw) To: Greg KH; +Cc: Mike Bell, linux-kernel On Sat, 14 Feb 2004, Greg KH wrote: > Stop. Go read http://ometer.com/hacking.com ITYM http://ometer.com/hacking.html Good article. -- Alex Goddard agoddard at purdue dot edu ^ permalink raw reply [flat|nested] 59+ messages in thread
* Re: devfs vs udev, thoughts from a devfs user 2004-02-14 17:44 ` Alex Goddard @ 2004-02-15 8:16 ` Andrew Walrond 0 siblings, 0 replies; 59+ messages in thread From: Andrew Walrond @ 2004-02-15 8:16 UTC (permalink / raw) To: linux-kernel On Saturday 14 Feb 2004 5:44 pm, Alex Goddard wrote: > On Sat, 14 Feb 2004, Greg KH wrote: > > Stop. Go read http://ometer.com/hacking.com > > Good article. Seconded. And guilty, at times, on all counts :) ^ permalink raw reply [flat|nested] 59+ messages in thread
* Re: devfs vs udev, thoughts from a devfs user 2004-02-14 16:54 ` Greg KH 2004-02-14 17:44 ` Alex Goddard @ 2004-02-19 9:47 ` Mike Bell 2004-02-19 19:43 ` Greg KH 1 sibling, 1 reply; 59+ messages in thread From: Mike Bell @ 2004-02-19 9:47 UTC (permalink / raw) To: Greg KH; +Cc: linux-kernel On Sat, Feb 14, 2004 at 08:54:44AM -0800, Greg KH wrote: > Woah, no this is NOT true. If you continue to this this, then this > discussion is going to go no where. > > Remember, the "dev" file in sysfs is just another attribute for the > device. Just like a serial number or product id. A device node would > be a totally different thing. See all of the other messages from others > about why this is true. Again, you're not understanding what I'm saying. It's different from userspace's point of view (it's totally changing the kind of thing sysfs is presenting, which is why I said I don't believe it should be done) what I'm saying is that it wouldn't require extra code. It's not making the kernel do extra work, it's just making it do the same work in a different way. It was an example to prove a later point, not a suggestion for how to do things. > Stop right there and go read the archives for why we are not going to do > this. This has been discussed a lot. I just said I wasn't advocating it! It was just to illustrate a later point. > Because then you have devfs, which is not what we are trying to do here. > > It seems that you are insisting that we have to make a devfs. Great, > have fun, use the devfs we already have. Do you see the irony here? You accuse me of just wanting devfs instead of udev the line after you answer a question with, essentially, "because then you have devfs, and devfs is bad". And I already do use the devfs we already have, and have done so for a long time. But it could use a lot of improvement (the same way udev could). > > As I see it, part of the reason procfs became such a nightmare was > > because people thought there could be only one kernel-generated > > filesystem and put everything in there. > > Not true. procfs got to be a mess for lots of other reasons (lack of > control, no other options, etc...) Did you miss the word "part"? And you say "no other options", isn't that what I just said ("only one kernel generated filesystem")? > > Linux is moving a lot of the silly magic values out of proc and into > > sysfs where they make more sense. Great! But what about stuff that > > doesn't really fit into sysfs as it is right now? Should we take > > sysfs's clean interface and extend it with special cases until it's > > the ugly mess proc is? > > No, and I'm not advocating that at all, and never have. That's not > the point here. No, but it was my example of why not everything has to be done in sysfs, and why having a greater number of more specialised filesystems can be a good thing. What I was trying to say is: 1) Isn't it good to have more than one kernel-generated filesystem, if each one can thereby be more specialised and therefore cleaner? (I believe you agree on this point). 2) If that's the case, why do you keep arguing that devfs (exporting device nodes from the kernel in a small and simple filesystem and letting a userspace daemon control their permissions and make symlinks so that the "right" cdrom drive is /dev/cdrom and such) is so horrible? > already been done, see the libfs code. I don't understand what this > has to do with udev though.... Thought so, but I couldn't remember the name. And it has to do with devfs (and implementing it using libfs), not with udev per se. > > I'm not a kernel hacker > > Stop. Go read http://ometer.com/hacking.com Especially pay attention > to the section "Back-seat coders are bad." I specifically like the > lines: > > If you don't know how to code, then you don't know how to design > the software either. Period. You can only cause trouble. I didn't say I don't know how to code, I said I wasn't a kernel hacker. And I wasn't TRYING to tell you how to write udev, though I may accidentally have come off that way. I started this thread out saying that I liked devfs better than udev for a few reasons, that udev didn't give me everything I wanted, and that therefore I would like to know if anyone else felt likewise and if so whether there was enough interest to "save" devfs, either by fixing the existing one or by doing it again from scratch. I wasn't trying to tell you how to do udev (though again, I may have come off that way accidentally, and if so I'm sorry). The only issue I ever had with you was that I didn't agree with a lot of your "devfs versus udev" document. Which is why I started the thread with a sort of counter to that. > So my main point is, I don't know what you are arguing anymore. If > you don't like udev, and for some reason think that devfs and devfsd > can provide you a stable, secure, and PERSISTENT device naming system, > then fine, go use devfs. Again, I do. But if everyone stopped working on udev except for bug-fixes, I bet it would start to be pretty nasty in one or two major kernel releases. Which is why I was trying to see if anyone else was interested in saving devfs. > > How do you figure that's free? hotplug's a great feature, nothing > > against it, but as far as I know the vast majority of installations > > aren't making use of it right now. > > Hint, I don't know of ANY distro that does not enable CONFIG_HOTPLUG > that is not a embedded distro. That's why I call it "free". It has > so many other benefits that people can no longer turn it off and > expect their systems to work "nicely". It may be enabled in a lot of kernels, but I don't know any distros that actually break if you turn it off (though I may be wrong here). So I don't think you're right when you say "It has so many other benefits that people can no longer turn it off and expect their systems to work "nicely"". > In conclusion, if you have any problems with udev, how it works, how > it is configured, etc., I'm very glad to hear them and help you > through it. But if you just want to complain about how we all should > be using devfs and devfsd instead of sysfs and udev, you are going to > get no where with me. I wasn't trying to get somewhere with you. The main purpose of this thread was to guage the level of interest in keeping devfs alive (which I suppose I've done, though I'm disappointed more people don't seem to agree with me on the advantages of a devfs solution over udev). The most I ever wanted from you personally was for you to make your udev versus devfs document a little fairer to devfs. I wish you the best of luck in developing udev, and since it looks like it's the preferred solution, I genuinely hope it matures quickly so that static /dev on linux can go away. ^ permalink raw reply [flat|nested] 59+ messages in thread
* Re: devfs vs udev, thoughts from a devfs user 2004-02-19 9:47 ` Mike Bell @ 2004-02-19 19:43 ` Greg KH 2004-02-27 0:02 ` Mike Bell 0 siblings, 1 reply; 59+ messages in thread From: Greg KH @ 2004-02-19 19:43 UTC (permalink / raw) To: Mike Bell; +Cc: linux-kernel On Thu, Feb 19, 2004 at 01:47:21AM -0800, Mike Bell wrote: > > And I already do use the devfs we already have, and have done so for a > long time. But it could use a lot of improvement (the same way udev > could). What could be improved in udev? What is it lacking that you need? Seriously, I'm interested in this. I'm not interested in devfs vs udev arguments, as that argument has been played out zillions of times before and devfs has consistently lost. <big snip...> > I wasn't trying to tell you how to do udev (though again, I may have > come off that way accidentally, and if so I'm sorry). The only issue I > ever had with you was that I didn't agree with a lot of your "devfs > versus udev" document. Which is why I started the thread with a sort of > counter to that. Well, if you want to either send me a patch for the udev-vs-devfs document that contains your suggested changes, or post your own devfs_is_so_superior_to_udev_that_no_one_should_ever_argue_with_me document, feel free to do so :) > > > How do you figure that's free? hotplug's a great feature, nothing > > > against it, but as far as I know the vast majority of installations > > > aren't making use of it right now. > > > > Hint, I don't know of ANY distro that does not enable CONFIG_HOTPLUG > > that is not a embedded distro. That's why I call it "free". It has > > so many other benefits that people can no longer turn it off and > > expect their systems to work "nicely". > > It may be enabled in a lot of kernels, but I don't know any distros that > actually break if you turn it off (though I may be wrong here). So I > don't think you're right when you say "It has so many other benefits > that people can no longer turn it off and expect their systems to work > "nicely"". As you have proved that you do not understand what CONFIG_HOTPLUG is and does for a system, I do not see how you can back up your argument about this topic. Please become more well-informed of the situation before trying to discuss this. > I wasn't trying to get somewhere with you. The main purpose of this > thread was to guage the level of interest in keeping devfs alive (which > I suppose I've done, though I'm disappointed more people don't seem to > agree with me on the advantages of a devfs solution over udev). If you look at your first post on this topic, it falls far short of this goal. It seemed like another "why is everyone picking on devfs as it's so great!" complaint to me by someone who does not fully understand how the devfs or udev code works. > The most I ever wanted from you personally was for you to make your udev > versus devfs document a little fairer to devfs. I wish you the best of > luck in developing udev, and since it looks like it's the preferred > solution, I genuinely hope it matures quickly so that static /dev on > linux can go away. udev is mature enough to do this today. I'm typing this on a box that runs it's /dev solely by using udev on a ramfs partition. See my recently posted HOWTO for how to do this if you are interested. Also, please remember the main goal of udev, the ability to create persistent names for devices. This is something that devfs can not do for you at all. The fact that udev can fully replace devfs with a tiny userspace program is further proof that udev is the proper way to manage a /dev tree. thanks, greg k-h ^ permalink raw reply [flat|nested] 59+ messages in thread
* Re: devfs vs udev, thoughts from a devfs user 2004-02-19 19:43 ` Greg KH @ 2004-02-27 0:02 ` Mike Bell 0 siblings, 0 replies; 59+ messages in thread From: Mike Bell @ 2004-02-27 0:02 UTC (permalink / raw) To: Greg KH; +Cc: linux-kernel On Thu, Feb 19, 2004 at 11:43:57AM -0800, Greg KH wrote: > > It may be enabled in a lot of kernels, but I don't know any distros that > > actually break if you turn it off (though I may be wrong here). So I > > don't think you're right when you say "It has so many other benefits > > that people can no longer turn it off and expect their systems to work > > "nicely"". > > As you have proved that you do not understand what CONFIG_HOTPLUG is and > does for a system, I do not see how you can back up your argument about > this topic. Please become more well-informed of the situation before > trying to discuss this. Sorry, what? How did I prove that? All I'm saying is that I've got plenty of systems that don't have any executable at /sbin/hotplug, even though /proc/sys/kernel/hotplug is set to that, and they work just fine. To me, this means that the system in question obviously ISN'T relying on the hotplug mechanism dispite your claims that it's required for any system to behave nicely. Please stop resorting to personal insults every time I disagree with you. > If you look at your first post on this topic, it falls far short of this > goal. It seemed like another "why is everyone picking on devfs as it's > so great!" complaint to me by someone who does not fully understand how > the devfs or udev code works. I just reread it, and I don't see how you can make any of those claims. I asked "is a devfs-like implementation really unfixable? And if not, is it worth whatever disadvantages can't be avoided?" To me, the answers are still no and yes, but I'm going to /try/ to shut up about it now. Either udev will eventually be sufficient for everyone's needs, or someone will come along and write something better. I just wanted to show people why I thought it was the latter, and hopefully encourage that something better to come around sooner rather than later. I don't see how that makes me a devfs-loving whiner who doesn't know what he's talking about. I said I disagreed with your argument about how devfs sets naming policy in the kernel, while udev does not. devfs sets /dev's naming policy in the kernel, while udev does not. But udev still relies on naming policy set in the kernel, in the form of sysfs. To me, that's an important difference. What you claim seems to me like you're saying that names in the kernel are a deadly sin and udev does away with them completely. What actually happens is that udev relies on names set in the kernel in a new filesystem, so that people can see the /dev layout they're used to or whatever other one they want. If you made that claim and said it was an advantage for udev and I wouldn't argue, but to me it's actually an advantage to devfs. One canonical name format for any given device node and then symlinks for alternate names (like /dev/mouse or a persistant name for a given USB device or anything else that can only be decided in userspace) makes more sense to me than the complete flexibility of udev. Either people make use of udev's capability to do that, and their system's SCSI hard drives have totally different device names to anyone else's, or they don't, everyone has LSB /dev names, and the same effect could have been accomplished by a devfs that exported LSB names instead of the (sometimes objectionably long) ones it wound up exporting. Either way, if you ask me, one consistant naming scheme is better than all the "flexibility" udev has to offer, just like consistant syscall numbers are better than consulting a userspace table to figure out what read() is on this system, and just like /proc/sys/ and sysfs have consistant, kernel generated names that people don't object to. > Also, please remember the main goal of udev, the ability to create > persistent names for devices. This is something that devfs can not do > for you at all. > > The fact that udev can fully replace devfs with a tiny userspace > program is further proof that udev is the proper way to manage a /dev > tree. Creating persistent names for devices is good. It must be done from userspace, since there's no way you could sanely put all the logic required into the kernel. udev does this, and that's a good thing about udev. The only part I disagree with is where you jump to "therefore, udev is the right way to manage a /dev tree." The two do not go together, udev creating all the device nodes in /dev is not required for udev (or whatever the program is called) making persistent names (device nodes or symlinks or whatever) in /dev. ^ permalink raw reply [flat|nested] 59+ messages in thread
* Re: devfs vs udev, thoughts from a devfs user 2004-02-10 17:25 ` Greg KH 2004-02-10 17:46 ` Mike Bell @ 2004-02-10 19:10 ` Shawn 1 sibling, 0 replies; 59+ messages in thread From: Shawn @ 2004-02-10 19:10 UTC (permalink / raw) To: Greg KH; +Cc: Mike Bell, linux-kernel@vger.kernel.org You know better than to say you're done. I've run out of fingers and toes trying to count the number of times you've tried to say that. Sadly, there are those that will stir things up enough to get a response. I think it's because you're very helpful and actually want to improve things and know how maybe? On Tue, 2004-02-10 at 11:25, Greg KH wrote: > Anyway, I'm done with this devfs vs. udev arguments that in the end go > nowhere. See that document for my position. ^ permalink raw reply [flat|nested] 59+ messages in thread
* Re: devfs vs udev, thoughts from a devfs user 2004-02-10 17:13 ` Mike Bell 2004-02-10 17:25 ` Greg KH @ 2004-02-10 17:52 ` Chris Friesen 2004-02-10 19:24 ` Mike Bell 1 sibling, 1 reply; 59+ messages in thread From: Chris Friesen @ 2004-02-10 17:52 UTC (permalink / raw) To: Mike Bell; +Cc: Greg KH, linux-kernel Mike Bell wrote: > No, you misunderstand. I'm not suggesting that sysfs /should/ export > device files. I'm saying that sysfs exporting type/major/minor as files > is not really that different from exporting full-fledged device files. > Making udev a sort of ugly-hack devfsd. What names would you use for your device files? This is the key difference. With udev it gets a notification that says "I have a new block device", it then looks it up, applies the rules, and creates a new entry. The whole point is to move the naming scheme into userspace for easier management. You could have the kernel export a simple devfs with a hardcoded naming scheme based on similar ideas as what is in sysfs (which would then make sysfs and the daemon optional for tiny embedded setups), but the only advantage over just exporting the information in sysfs is to save a few bytes at the cost of yet another filesystem to maintain. Chris -- Chris Friesen | MailStop: 043/33/F10 Nortel Networks | work: (613) 765-0557 3500 Carling Avenue | fax: (613) 765-2986 Nepean, ON K2H 8E9 Canada | email: cfriesen@nortelnetworks.com ^ permalink raw reply [flat|nested] 59+ messages in thread
* Re: devfs vs udev, thoughts from a devfs user 2004-02-10 17:52 ` Chris Friesen @ 2004-02-10 19:24 ` Mike Bell 2004-02-10 19:46 ` Chris Friesen ` (2 more replies) 0 siblings, 3 replies; 59+ messages in thread From: Mike Bell @ 2004-02-10 19:24 UTC (permalink / raw) To: Chris Friesen; +Cc: Greg KH, linux-kernel On Tue, Feb 10, 2004 at 12:52:51PM -0500, Chris Friesen wrote: > What names would you use for your device files? This is the key > difference. With udev it gets a notification that says "I have a new > block device", it then looks it up, applies the rules, and creates a new > entry. The whole point is to move the naming scheme into userspace for > easier management. Why does it make management easier to have no predictable name for a device? > You could have the kernel export a simple devfs with a hardcoded naming > scheme based on similar ideas as what is in sysfs (which would then make > sysfs and the daemon optional for tiny embedded setups), but the only > advantage over just exporting the information in sysfs is to save a few > bytes at the cost of yet another filesystem to maintain. I think the space savings are a pretty good reason alone. Add to that the fact I think devfs would be a good idea even if it cost MORE memory... You can mount a devfs on your RO root instead of needing to mount a tmpfs on /dev and then run udev on that. A devfs gives consistant names for devices in addition to the user's preferred user-space dictated naming scheme. A devfs means even with dynamic majors/minors, even if you have new hardware in your system, your /dev at least has the devices it needs. ^ permalink raw reply [flat|nested] 59+ messages in thread
* Re: devfs vs udev, thoughts from a devfs user 2004-02-10 19:24 ` Mike Bell @ 2004-02-10 19:46 ` Chris Friesen 2004-02-10 19:58 ` Tomasz Torcz ` (3 more replies) 2004-02-10 20:15 ` Timothy Miller 2004-02-10 20:44 ` Valdis.Kletnieks 2 siblings, 4 replies; 59+ messages in thread From: Chris Friesen @ 2004-02-10 19:46 UTC (permalink / raw) To: Mike Bell; +Cc: Greg KH, linux-kernel Mike Bell wrote: > Why does it make management easier to have no predictable name for a > device? I believe this is a misconception. Udev uses standard rules by default. If the end-user (or their distro) wants to add additional rules or override these rules, they can do that. > I think the space savings are a pretty good reason alone. Add to that > the fact I think devfs would be a good idea even if it cost MORE > memory... You can mount a devfs on your RO root instead of needing to > mount a tmpfs on /dev and then run udev on that. Don't you have to explicitly mount /dev as type devfs? How is this different than mounting it as tmpfs? > A devfs gives > consistant names for devices in addition to the user's preferred > user-space dictated naming scheme. Udev gives consistant names unless you explicitly override it. > A devfs means even with dynamic > majors/minors, even if you have new hardware in your system, your /dev > at least has the devices it needs. So does udev. The real gain with devfs is that you don't need to have any userspace intervention to get /dev/ populated with a baseline set of device nodes. As long as the udev code is sufficiently robust and compact, I don't have a problem with needing a userspace daemon. Anyone that *really* cares about compactness (embedded people, for instance) is going to use a static /dev tree pruned down to the bare minimum. For everyone else, the overhead of having udev running should be unnoticeable. Chris -- Chris Friesen | MailStop: 043/33/F10 Nortel Networks | work: (613) 765-0557 3500 Carling Avenue | fax: (613) 765-2986 Nepean, ON K2H 8E9 Canada | email: cfriesen@nortelnetworks.com ^ permalink raw reply [flat|nested] 59+ messages in thread
* Re: devfs vs udev, thoughts from a devfs user 2004-02-10 19:46 ` Chris Friesen @ 2004-02-10 19:58 ` Tomasz Torcz 2004-02-10 20:11 ` Kevin P. Fleming ` (2 subsequent siblings) 3 siblings, 0 replies; 59+ messages in thread From: Tomasz Torcz @ 2004-02-10 19:58 UTC (permalink / raw) To: linux-kernel On Tue, Feb 10, 2004 at 02:46:16PM -0500, Chris Friesen wrote: > >I think the space savings are a pretty good reason alone. Add to that > >the fact I think devfs would be a good idea even if it cost MORE > >memory... You can mount a devfs on your RO root instead of needing to > >mount a tmpfs on /dev and then run udev on that. > > Don't you have to explicitly mount /dev as type devfs? How is this > different than mounting it as tmpfs? There is one magic option in kernel config, which mounts devfs automatically at boot. -- Tomasz Torcz There exists no separation between gods and men: zdzichu@irc.-nie.spam-.pl one blends softly casual into the other. |> Playing: Anathema - Pressure ... ^ permalink raw reply [flat|nested] 59+ messages in thread
* Re: devfs vs udev, thoughts from a devfs user 2004-02-10 19:46 ` Chris Friesen 2004-02-10 19:58 ` Tomasz Torcz @ 2004-02-10 20:11 ` Kevin P. Fleming 2004-02-10 20:39 ` Bill Rugolsky Jr. 2004-02-10 20:32 ` Diego Calleja García 2004-02-11 1:20 ` Mike Bell 3 siblings, 1 reply; 59+ messages in thread From: Kevin P. Fleming @ 2004-02-10 20:11 UTC (permalink / raw) Cc: linux-kernel Chris Friesen wrote: > Don't you have to explicitly mount /dev as type devfs? How is this > different than mounting it as tmpfs? devfs is "single-instance": it can be mounted during initrd/initramfs processing, then remounted after pivot_root without losing its contents Granted, I'm sure someone can come up with a single-instance ramfs filesystem that can be used for udev, but today it does not exist. ^ permalink raw reply [flat|nested] 59+ messages in thread
* Re: devfs vs udev, thoughts from a devfs user 2004-02-10 20:11 ` Kevin P. Fleming @ 2004-02-10 20:39 ` Bill Rugolsky Jr. 2004-02-11 1:16 ` Greg KH 0 siblings, 1 reply; 59+ messages in thread From: Bill Rugolsky Jr. @ 2004-02-10 20:39 UTC (permalink / raw) To: Kevin P. Fleming; +Cc: linux-kernel On Tue, Feb 10, 2004 at 01:11:36PM -0700, Kevin P. Fleming wrote: > devfs is "single-instance": it can be mounted during initrd/initramfs > processing, then remounted after pivot_root without losing its contents > > Granted, I'm sure someone can come up with a single-instance ramfs > filesystem that can be used for udev, but today it does not exist. mount --move olddir newdir Regards, Bill Rugolsky ^ permalink raw reply [flat|nested] 59+ messages in thread
* Re: devfs vs udev, thoughts from a devfs user 2004-02-10 20:39 ` Bill Rugolsky Jr. @ 2004-02-11 1:16 ` Greg KH 2004-02-11 1:41 ` Kevin P. Fleming 2004-02-11 7:50 ` viro 0 siblings, 2 replies; 59+ messages in thread From: Greg KH @ 2004-02-11 1:16 UTC (permalink / raw) To: Bill Rugolsky Jr., linux-kernel On Tue, Feb 10, 2004 at 03:39:00PM -0500, Bill Rugolsky Jr. wrote: > On Tue, Feb 10, 2004 at 01:11:36PM -0700, Kevin P. Fleming wrote: > > devfs is "single-instance": it can be mounted during initrd/initramfs > > processing, then remounted after pivot_root without losing its contents > > > > Granted, I'm sure someone can come up with a single-instance ramfs > > filesystem that can be used for udev, but today it does not exist. > > mount --move olddir newdir Doesn't work for what we want here: $ mkdir /tmp/a /tmp/b $ mount -t ramfs none /tmp/a $ touch /tmp/a/foo $ mount --move /tmp/a /tmp/b $ ls /tmp/b foo $ umount /tmp/a $ ls /tmp/b $ Hm, not nice :( thanks, greg k-h ^ permalink raw reply [flat|nested] 59+ messages in thread
* Re: devfs vs udev, thoughts from a devfs user 2004-02-11 1:16 ` Greg KH @ 2004-02-11 1:41 ` Kevin P. Fleming 2004-02-11 9:36 ` Maneesh Soni 2004-02-11 7:50 ` viro 1 sibling, 1 reply; 59+ messages in thread From: Kevin P. Fleming @ 2004-02-11 1:41 UTC (permalink / raw) To: linux-kernel Greg KH wrote: > Doesn't work for what we want here: > > $ mkdir /tmp/a /tmp/b > $ mount -t ramfs none /tmp/a > $ touch /tmp/a/foo > $ mount --move /tmp/a /tmp/b > $ ls /tmp/b > foo > $ umount /tmp/a > $ ls /tmp/b > $ That seems very odd, the "umount /tmp/a" should have failed, given than nothing is mounted there any longer. Also, what will happen if something on the filesystem on /tmp/a is open (say, /dev/console)? I was thinking that this process might work better: $ mkdir /tmp/a /tmp/b $ mount -t ramfs test /tmp/a $ touch /tmp/a/foo $ mount --bind /tmp/a /tmp/b $ ls /tmp/b foo $ umount /tmp/a $ ls /tmp/b foo And it does. In fact, it seems to work fine as long as no files are open on the ramfs when the umount is executed (otherwise -EBUSY). ^ permalink raw reply [flat|nested] 59+ messages in thread
* Re: devfs vs udev, thoughts from a devfs user 2004-02-11 1:41 ` Kevin P. Fleming @ 2004-02-11 9:36 ` Maneesh Soni 0 siblings, 0 replies; 59+ messages in thread From: Maneesh Soni @ 2004-02-11 9:36 UTC (permalink / raw) To: Kevin P. Fleming; +Cc: linux-kernel, Al Viro On Wed, Feb 11, 2004 at 01:59:39AM +0000, Kevin P. Fleming wrote: > Greg KH wrote: > > >Doesn't work for what we want here: > > > > $ mkdir /tmp/a /tmp/b > > $ mount -t ramfs none /tmp/a > > $ touch /tmp/a/foo > > $ mount --move /tmp/a /tmp/b > > $ ls /tmp/b > > foo > > $ umount /tmp/a > > $ ls /tmp/b > > $ > > That seems very odd, the "umount /tmp/a" should have failed, given than > nothing is mounted there any longer. I think there is a bug in the mount utility. /etc/mtab is not updated correctly after "mount --move". /proc/mounts does get updated correctly. So, if one creates /etc/mtab as sym linked with /proc/mounts, the above steps will correctly _fail_ "umount /tmp/a" Maneesh -- Maneesh Soni Linux Technology Center, IBM Software Lab, Bangalore, India email: maneesh@in.ibm.com Phone: 91-80-25044999 Fax: 91-80-5268553 T/L : 9243696 ^ permalink raw reply [flat|nested] 59+ messages in thread
* Re: devfs vs udev, thoughts from a devfs user 2004-02-11 1:16 ` Greg KH 2004-02-11 1:41 ` Kevin P. Fleming @ 2004-02-11 7:50 ` viro 2004-02-11 12:33 ` Bill Rugolsky Jr. 1 sibling, 1 reply; 59+ messages in thread From: viro @ 2004-02-11 7:50 UTC (permalink / raw) To: Greg KH; +Cc: Bill Rugolsky Jr., linux-kernel On Tue, Feb 10, 2004 at 05:16:00PM -0800, Greg KH wrote: > On Tue, Feb 10, 2004 at 03:39:00PM -0500, Bill Rugolsky Jr. wrote: > > On Tue, Feb 10, 2004 at 01:11:36PM -0700, Kevin P. Fleming wrote: > > > devfs is "single-instance": it can be mounted during initrd/initramfs > > > processing, then remounted after pivot_root without losing its contents > > > > > > Granted, I'm sure someone can come up with a single-instance ramfs > > > filesystem that can be used for udev, but today it does not exist. > > > > mount --move olddir newdir > > Doesn't work for what we want here: > > $ mkdir /tmp/a /tmp/b > $ mount -t ramfs none /tmp/a > $ touch /tmp/a/foo > $ mount --move /tmp/a /tmp/b > $ ls /tmp/b > foo > $ umount /tmp/a > $ ls /tmp/b > $ > > Hm, not nice :( Huh? Is that a bug report or just your guess at what would happen if you tried the above? If it _does_ happen - we have a problem and I'd like to know which versions have such bug. ^ permalink raw reply [flat|nested] 59+ messages in thread
* Re: devfs vs udev, thoughts from a devfs user 2004-02-11 7:50 ` viro @ 2004-02-11 12:33 ` Bill Rugolsky Jr. 2004-02-11 15:11 ` [PATCH] Fix /etc/mtab updating with mount --move [was Re: devfs vs udev, thoughts from a devfs user] Bill Rugolsky Jr. 2004-02-11 19:19 ` devfs vs udev, thoughts from a devfs user dleonard 0 siblings, 2 replies; 59+ messages in thread From: Bill Rugolsky Jr. @ 2004-02-11 12:33 UTC (permalink / raw) To: viro; +Cc: Greg KH, linux-kernel On Wed, Feb 11, 2004 at 07:50:49AM +0000, viro@parcelfarce.linux.theplanet.co.uk wrote: > On Tue, Feb 10, 2004 at 05:16:00PM -0800, Greg KH wrote: > > Doesn't work for what we want here: > > > > $ mkdir /tmp/a /tmp/b > > $ mount -t ramfs none /tmp/a > > $ touch /tmp/a/foo > > $ mount --move /tmp/a /tmp/b > > $ ls /tmp/b > > foo > > $ umount /tmp/a > > $ ls /tmp/b > > $ > > > > Hm, not nice :( > > Huh? Is that a bug report or just your guess at what would happen if you > tried the above? > > If it _does_ happen - we have a problem and I'd like to know which versions > have such bug. Ugh, /etc/mtab really ought to die. Anyway, with traditional /etc/mtab, mount --move produces: none on /tmp/a type ramfs (rw) /tmp/a on /tmp/b type none (rw) ln -sf /proc/self/mounts /etc/mtab and retry, it works fine: none on /tmp/b type ramfs (rw) I'll have a look at mount later today, if nobody else gets there first. -Bill ^ permalink raw reply [flat|nested] 59+ messages in thread
* [PATCH] Fix /etc/mtab updating with mount --move [was Re: devfs vs udev, thoughts from a devfs user] 2004-02-11 12:33 ` Bill Rugolsky Jr. @ 2004-02-11 15:11 ` Bill Rugolsky Jr. 2004-02-11 19:19 ` devfs vs udev, thoughts from a devfs user dleonard 1 sibling, 0 replies; 59+ messages in thread From: Bill Rugolsky Jr. @ 2004-02-11 15:11 UTC (permalink / raw) To: util-linux; +Cc: viro, Greg KH, linux-kernel [-- Attachment #1: Type: text/plain, Size: 338 bytes --] On Wed, Feb 11, 2004 at 07:33:52AM -0500, Bill Rugolsky Jr. wrote: > Anyway, with traditional /etc/mtab, mount --move produces: > > none on /tmp/a type ramfs (rw) > /tmp/a on /tmp/b type none (rw) Andries, The attached patch against util-linux-2.12pre fixes /etc/mtab updating when using mount --move. Regards, Bill Rugolsky [-- Attachment #2: util-linux-2.12pre-mountmove.patch --] [-- Type: text/plain, Size: 934 bytes --] --- util-linux-2.12pre/mount/fstab.c.move 2003-07-05 16:16:05.000000000 -0400 +++ util-linux-2.12pre/mount/fstab.c 2004-02-11 09:56:12.644436000 -0500 @@ -541,8 +541,12 @@ mc->nxt->prev = mc->prev; } } else { - /* A remount */ + /* A remount or move */ mc->m.mnt_opts = instead->mnt_opts; + if (!streq(mc->m.mnt_dir, instead->mnt_dir)) { + free(mc->m.mnt_dir); + mc->m.mnt_dir = xstrdup(instead->mnt_dir); + } } } else if (instead) { /* not found, add a new entry */ --- util-linux-2.12pre/mount/mount.c.move 2003-07-13 17:26:13.000000000 -0400 +++ util-linux-2.12pre/mount/mount.c 2004-02-11 10:03:25.754436000 -0500 @@ -635,7 +635,9 @@ print_one (&mnt); if (!nomtab && mtab_is_writable()) { - if (flags & MS_REMOUNT) + if (flags & MS_MOVE) + update_mtab (mnt.mnt_fsname, &mnt); + else if (flags & MS_REMOUNT) update_mtab (mnt.mnt_dir, &mnt); else { mntFILE *mfp; ^ permalink raw reply [flat|nested] 59+ messages in thread
* Re: devfs vs udev, thoughts from a devfs user 2004-02-11 12:33 ` Bill Rugolsky Jr. 2004-02-11 15:11 ` [PATCH] Fix /etc/mtab updating with mount --move [was Re: devfs vs udev, thoughts from a devfs user] Bill Rugolsky Jr. @ 2004-02-11 19:19 ` dleonard 1 sibling, 0 replies; 59+ messages in thread From: dleonard @ 2004-02-11 19:19 UTC (permalink / raw) To: Bill Rugolsky Jr.; +Cc: viro, Greg KH, linux-kernel For mount 2.12 /etc/mtab doesn't get updated correctly but umount is at least smart (or dumb) enough not to do the wrong thing. r:dryad:/tmp# mkdir /tmp/a /tmp/b r:dryad:/tmp# mount -t ramfs none /tmp/a r:dryad:/tmp# touch /tmp/a/foo r:dryad:/tmp# mount --move /tmp/a /tmp/b r:dryad:/tmp# ls /tmp/b foo r:dryad:/tmp# cat /etc/mtab /dev/hda2 / ext3 rw,errors=remount-ro 0 0 proc /proc proc rw 0 0 devpts /dev/pts devpts rw,gid=5,mode=620 0 0 /dev/hda5 /usr ext3 rw 0 0 /dev/hda6 /home ext3 rw 0 0 usbfs /proc/bus/usb usbfs rw 0 0 none /tmp/a ramfs rw 0 0 /tmp/a /tmp/b none rw 0 0 r:dryad:/tmp# cat /proc/mounts rootfs / rootfs rw 0 0 /dev/root / ext3 rw 0 0 proc /proc proc rw 0 0 devpts /dev/pts devpts rw 0 0 /dev/hda5 /usr ext3 rw 0 0 /dev/hda6 /home ext3 rw 0 0 usbfs /proc/bus/usb usbfs rw 0 0 none /tmp/b ramfs rw 0 0 r:dryad:/tmp# umount /tmp/a umount: none: not found umount: /tmp/a: not mounted umount: none: not found umount: /tmp/a: not mounted r:dryad:/tmp# ls /tmp/b foo This problem *does* occur exactly as Greg says with mount 2.11n (debian) though. -- <Douglas Leonard> <dleonard@dleonard.net> On Wed, 11 Feb 2004, Bill Rugolsky Jr. wrote: > On Wed, Feb 11, 2004 at 07:50:49AM +0000, viro@parcelfarce.linux.theplanet.co.uk wrote: > > On Tue, Feb 10, 2004 at 05:16:00PM -0800, Greg KH wrote: > > > Doesn't work for what we want here: > > > > > > $ mkdir /tmp/a /tmp/b > > > $ mount -t ramfs none /tmp/a > > > $ touch /tmp/a/foo > > > $ mount --move /tmp/a /tmp/b > > > $ ls /tmp/b > > > foo > > > $ umount /tmp/a > > > $ ls /tmp/b > > > $ > > > > > > Hm, not nice :( > > > > Huh? Is that a bug report or just your guess at what would happen if you > > tried the above? > > > > If it _does_ happen - we have a problem and I'd like to know which versions > > have such bug. > > Ugh, /etc/mtab really ought to die. > > Anyway, with traditional /etc/mtab, mount --move produces: > > none on /tmp/a type ramfs (rw) > /tmp/a on /tmp/b type none (rw) > > ln -sf /proc/self/mounts /etc/mtab and retry, it works fine: > > none on /tmp/b type ramfs (rw) > > I'll have a look at mount later today, if nobody else gets there first. > > -Bill > - > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ > ^ permalink raw reply [flat|nested] 59+ messages in thread
* Re: devfs vs udev, thoughts from a devfs user 2004-02-10 19:46 ` Chris Friesen 2004-02-10 19:58 ` Tomasz Torcz 2004-02-10 20:11 ` Kevin P. Fleming @ 2004-02-10 20:32 ` Diego Calleja García 2004-02-11 1:20 ` Mike Bell 3 siblings, 0 replies; 59+ messages in thread From: Diego Calleja García @ 2004-02-10 20:32 UTC (permalink / raw) To: Chris Friesen; +Cc: linux-kernel El Tue, 10 Feb 2004 14:46:16 -0500 Chris Friesen <cfriesen@nortelnetworks.com> escribió: > Mike Bell wrote: > > > Why does it make management easier to have no predictable name for a > > device? > > I believe this is a misconception. > > Udev uses standard rules by default. If the end-user (or their distro) > wants to add additional rules or override these rules, they can do that. It even communicate the addition/removal of devices to userspace applications through DBUS (freedesktop.org standard that will be adopted by kde, gnome, etc - ie: useful stuff). So you don't even need to know the device names: the application will receive the notificacion. Of course, this is doable with devfs. But it's been done already, in a *much* cleaner way, with udev. So why bother, I wonder... ^ permalink raw reply [flat|nested] 59+ messages in thread
* Re: devfs vs udev, thoughts from a devfs user 2004-02-10 19:46 ` Chris Friesen ` (2 preceding siblings ...) 2004-02-10 20:32 ` Diego Calleja García @ 2004-02-11 1:20 ` Mike Bell 3 siblings, 0 replies; 59+ messages in thread From: Mike Bell @ 2004-02-11 1:20 UTC (permalink / raw) To: Chris Friesen; +Cc: Greg KH, linux-kernel On Tue, Feb 10, 2004 at 02:46:16PM -0500, Chris Friesen wrote: > I believe this is a misconception. > > Udev uses standard rules by default. If the end-user (or their distro) > wants to add additional rules or override these rules, they can do that. Right, but why is "override" better than "in addition to" in this case? With the in addition case, any linux system at least has the predictable, kernel-generated name, and any app can rely on that name being the same on. If the user doesn't like it, he/she is free to make another one, but the old one's still there. udev's additional flexibility over devfs with regard to naming seems to boil down to that, udev is instead of, devfs is in addition to. Why is instead of better? There's space savings, but a simpler devfs might actually be more RAM efficient than using the generic tmpfs with device nodes on it. And there's the cleanliness of not having unused device nodes around, but those unused device nodes guarantee that no matter what crazy naming scheme you personally like for your devices, they're still findable the old fashioned way too. ^ permalink raw reply [flat|nested] 59+ messages in thread
* Re: devfs vs udev, thoughts from a devfs user 2004-02-10 19:24 ` Mike Bell 2004-02-10 19:46 ` Chris Friesen @ 2004-02-10 20:15 ` Timothy Miller 2004-02-10 22:24 ` Matthew Reppert 2004-02-11 1:35 ` Mike Bell 2004-02-10 20:44 ` Valdis.Kletnieks 2 siblings, 2 replies; 59+ messages in thread From: Timothy Miller @ 2004-02-10 20:15 UTC (permalink / raw) To: Mike Bell; +Cc: Chris Friesen, Greg KH, linux-kernel Please forgive me for stepping into this conversation so late... Mike Bell wrote: > On Tue, Feb 10, 2004 at 12:52:51PM -0500, Chris Friesen wrote: > >>What names would you use for your device files? This is the key >>difference. With udev it gets a notification that says "I have a new >>block device", it then looks it up, applies the rules, and creates a new >>entry. The whole point is to move the naming scheme into userspace for >>easier management. > > > Why does it make management easier to have no predictable name for a > device? > What's unpredictable about it? udev can apply exactly the same rules that devfs uses, thereby coming up with the same names. In that limited case, the advantage to udev is to move code out of the kernel. Not only does that shrink the kernel, but it moves policy that affects user space into user space. If udev had a "devfs" mode where it used a ramdisk for device nodes, and it produced exactly the same names as devfs, would you be happy with it? Any device node you needed would have been generated well before you needed it, and being a filesystem node, it's no slower to actually USE the device than devfs, and you'd get all the same behavior you had before. The ONLY difference is that the code isn't in the kernel. You have the further advantage, for the embedded people, that you can eliminate udev, and create static device nodes, without having to modify the kernel in any way. For the typical case, udev COULD produce the same device names as devfs, completely addressing your "predictability" issue. It would be PERFECTLY predictable. But it has the additional advantage of being able to keep a database in a file that it uses to also make device names CONSISTENT. Thus, if you attach a USB device and then remove it and then attach it again later, udev has a simple way to compare that device against its history of known devices and give that device again exactly the same name. Can devfs do that? If so, where does it keep its history? > >>You could have the kernel export a simple devfs with a hardcoded naming >>scheme based on similar ideas as what is in sysfs (which would then make >>sysfs and the daemon optional for tiny embedded setups), but the only >>advantage over just exporting the information in sysfs is to save a few >>bytes at the cost of yet another filesystem to maintain. > > > I think the space savings are a pretty good reason alone. Add to that > the fact I think devfs would be a good idea even if it cost MORE > memory... You can mount a devfs on your RO root instead of needing to > mount a tmpfs on /dev and then run udev on that. A devfs gives > consistant names for devices in addition to the user's preferred > user-space dictated naming scheme. A devfs means even with dynamic > majors/minors, even if you have new hardware in your system, your /dev > at least has the devices it needs. How does devfs save space? Device node information has to be stores SOMEWHERE. Whether that's in filesystem nodes or in datastructures in the kernel that are dynamically made to LOOK like device nodes, you still need to take up memory. As for dynamic major/minor numbers, I'm not sure how udev precludes that. The fact that udev might keep minor numbers from changing over a reboot doesn't matter. Dynamic major/minor numbers just means that they can be arbitrary. ^ permalink raw reply [flat|nested] 59+ messages in thread
* Re: devfs vs udev, thoughts from a devfs user 2004-02-10 20:15 ` Timothy Miller @ 2004-02-10 22:24 ` Matthew Reppert 2004-02-11 1:35 ` Mike Bell 1 sibling, 0 replies; 59+ messages in thread From: Matthew Reppert @ 2004-02-10 22:24 UTC (permalink / raw) To: Timothy Miller; +Cc: Mike Bell, Chris Friesen, Greg KH, linux-kernel [-- Attachment #1: Type: text/plain, Size: 376 bytes --] On Tue, 2004-02-10 at 14:15, Timothy Miller wrote: > > If udev had a "devfs" mode where it used a ramdisk for device nodes, and > it produced exactly the same names as devfs, would you be happy with it? udev ships with several sets of device naming rules, one of which is meant to create devfs-like names. etc/udev/udev.rules.devfs in the udev distribution. Matt [-- Attachment #2: This is a digitally signed message part --] [-- Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 59+ messages in thread
* Re: devfs vs udev, thoughts from a devfs user 2004-02-10 20:15 ` Timothy Miller 2004-02-10 22:24 ` Matthew Reppert @ 2004-02-11 1:35 ` Mike Bell 1 sibling, 0 replies; 59+ messages in thread From: Mike Bell @ 2004-02-11 1:35 UTC (permalink / raw) To: Timothy Miller; +Cc: Chris Friesen, Greg KH, linux-kernel On Tue, Feb 10, 2004 at 03:15:39PM -0500, Timothy Miller wrote: > What's unpredictable about it? udev can apply exactly the same rules > that devfs uses, thereby coming up with the same names. In that limited > case, the advantage to udev is to move code out of the kernel. Not only > does that shrink the kernel, but it moves policy that affects user space > into user space. But you're still relying on sysfs. You're not shrinking the kernel, you're moving the resource usage to a different filesystem which is new and thus doesn't have people who feel strongly about how the files in it should be named. > If udev had a "devfs" mode where it used a ramdisk for device nodes, and > it produced exactly the same names as devfs, would you be happy with it? No, as I already said, udev on a tmpfs would not be enough for me. Or at least that's the opinion I have now, it seems pretty much everyone loves udev, so it may well become The Way to do things on linux, at which point I may not have a choice but to grow to love it. :) > You have the further advantage, for the embedded people, that you can > eliminate udev, and create static device nodes, without having to modify > the kernel in any way. But the old devfs argument was that devfs actually takes LESS flash than a static /dev. Even the udev author says it was good for embedded people. > For the typical case, udev COULD produce the same device names as devfs, > completely addressing your "predictability" issue. It would be > PERFECTLY predictable. No, because I'm saying that udev's fundamental philosophy seems to be "instead of", when it talks about giving the user more choice than devfs, it's talking about the freedom to have different names INSTEAD OF the ones everyone else has. It doesn't matter what layout those names have, devfs-style or LFS-style or whatever, the point is that the devfs-style "in addition to" userspace daemon means you've always got predictable names for device files there as well. I'm not saying that's a big win for devfs, or that it couldn't be done in userspace. I'm asking why people keep talking about that as if it was a win for udev? Why is that a good thing? Because that's the difference between a devfsd and a udev, both can create whatever crazy naming scheme you want, completely in user space. But the devfsd relies on the paths to kernel-generated device files, while udev relies on the paths to kernel-generated text files in a different tree. > Can devfs do that? If so, where does it keep its history? With devfsd. In userspace, the same place as udev. > How does devfs save space? Device node information has to be stores > SOMEWHERE. Whether that's in filesystem nodes or in datastructures in > the kernel that are dynamically made to LOOK like device nodes, you > still need to take up memory. But a filesystem that is able to support the creation of a file up to ssize_t, loopback mounting, maximum "disc" space usage and other accounting stuff (tmpfs) is presumably more space inefficient than one that just has to support devices, symlinks and fifos, all of which have tiny metadata and don't need associated "blocks" to store their data. ^ permalink raw reply [flat|nested] 59+ messages in thread
* Re: devfs vs udev, thoughts from a devfs user 2004-02-10 19:24 ` Mike Bell 2004-02-10 19:46 ` Chris Friesen 2004-02-10 20:15 ` Timothy Miller @ 2004-02-10 20:44 ` Valdis.Kletnieks 2 siblings, 0 replies; 59+ messages in thread From: Valdis.Kletnieks @ 2004-02-10 20:44 UTC (permalink / raw) To: Mike Bell; +Cc: Chris Friesen, Greg KH, linux-kernel [-- Attachment #1: Type: text/plain, Size: 858 bytes --] On Tue, 10 Feb 2004 11:24:57 PST, Mike Bell said: > I think the space savings are a pretty good reason alone. Add to that > the fact I think devfs would be a good idea even if it cost MORE > memory... You can mount a devfs on your RO root instead of needing to > mount a tmpfs on /dev and then run udev on that. (As an aside, the original reason I started using devfs was because it created a separate /dev filesystem, and / can be mounted 'nodev'. But I don't have any religious preference for mounting devfs-by-kernel or tmpfs-from-initrd). On the flip side, udev gives me something that devfs *cant* without major hacking - the ability to attach extended attributes/labels to the device when it gets created, so things like SELinux can deal with them. (OK, so I admit I'm still sorting out how to use the SElinux transition SID support for tmpfs ;) [-- Attachment #2: Type: application/pgp-signature, Size: 226 bytes --] ^ permalink raw reply [flat|nested] 59+ messages in thread
* Re: devfs vs udev, thoughts from a devfs user 2004-02-10 17:01 ` Greg KH 2004-02-10 17:13 ` Mike Bell @ 2004-02-10 17:55 ` Mike Bell 2004-02-10 18:19 ` Greg KH 1 sibling, 1 reply; 59+ messages in thread From: Mike Bell @ 2004-02-10 17:55 UTC (permalink / raw) To: Greg KH; +Cc: linux-kernel On Tue, Feb 10, 2004 at 09:01:57AM -0800, Greg KH wrote: > Did you read: > http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev_vs_devfs While we're at it... > Problems: > 1) devfs only shows the dev entries for the devices in the system. Why is that a bad thing? Why should I want to see dev entries for firewire drives on my 486 or LPT1 on my legacy-free laptop? > 2) devfs does not handle the need for dynamic major/minor numbers It does as well as udev does. You say it yourself, "if the kernel switches to dynamic major/minor". The same is true of devfs. It was designed for dynamic major/minors, and the static ones were for backward compatibility with static /devs. > 4) devfs does provide a deamon that userspace programs can hook into > to listen to see what devices are being created or removed. How is that a problem? > Constraints: > 1) devfs forces the devfs naming policy into the kernel. If you > don't like this naming scheme, tough. Not true at all. If you don't like the naming scheme, run devfsd. Just like running udev, only unlike udev at least you have device files even if the daemon's not running. > 2) devfs does not follow the LSB device naming standard. No, but the userspace daemon attached to it could do so, just like udev. ^ permalink raw reply [flat|nested] 59+ messages in thread
* Re: devfs vs udev, thoughts from a devfs user 2004-02-10 17:55 ` Mike Bell @ 2004-02-10 18:19 ` Greg KH 2004-02-10 18:43 ` Mike Bell 2004-02-10 19:12 ` Mike Bell 0 siblings, 2 replies; 59+ messages in thread From: Greg KH @ 2004-02-10 18:19 UTC (permalink / raw) To: Mike Bell; +Cc: linux-kernel ugh, and here I said I wouldn't respond. But to be fair, he wrote me this before I said that... On Tue, Feb 10, 2004 at 09:55:49AM -0800, Mike Bell wrote: > On Tue, Feb 10, 2004 at 09:01:57AM -0800, Greg KH wrote: > > Did you read: > > http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev_vs_devfs > > While we're at it... > > > Problems: > > 1) devfs only shows the dev entries for the devices in the system. > > Why is that a bad thing? Why should I want to see dev entries for firewire > drives on my 486 or LPT1 on my legacy-free laptop? No, I'm saying that devfs does solve this problem. Quite well in fact. > > 2) devfs does not handle the need for dynamic major/minor numbers > > It does as well as udev does. You say it yourself, "if the kernel switches to > dynamic major/minor". The same is true of devfs. It was designed for dynamic > major/minors, and the static ones were for backward compatibility with static > /devs. But devfs never used the dynamic major/minor code. No one used it. It's not even present anymore in 2.6. That shows that devfs does not solve this problem by itself. > > 4) devfs does provide a deamon that userspace programs can hook into > > to listen to see what devices are being created or removed. > > How is that a problem? It isn't. It's saying that devfs does do this. > > Constraints: > > 1) devfs forces the devfs naming policy into the kernel. If you > > don't like this naming scheme, tough. > > Not true at all. If you don't like the naming scheme, run devfsd. Just > like running udev, only unlike udev at least you have device files even > if the daemon's not running. Heh, you haven't ever converted a driver to use devfs have you? If so, you would have seen the fact that you had to specify your devfs name in the driver interface. That's hard coding the naming scheme in the kernel. And how flexible does devfsd allow you to specify your own naming scheme? How can you get the info from devfsd that you need to provide a proper device name? No one I know has ever does this. And I know some people who tried real hard... > > 2) devfs does not follow the LSB device naming standard. > > No, but the userspace daemon attached to it could do so, just like udev. But it doesn't. That was the point. udev defaults to this. Which is the sane thing to do. thanks, greg k-h ^ permalink raw reply [flat|nested] 59+ messages in thread
* Re: devfs vs udev, thoughts from a devfs user 2004-02-10 18:19 ` Greg KH @ 2004-02-10 18:43 ` Mike Bell 2004-02-10 20:11 ` Theodore Ts'o 2004-02-10 19:12 ` Mike Bell 1 sibling, 1 reply; 59+ messages in thread From: Mike Bell @ 2004-02-10 18:43 UTC (permalink / raw) To: linux-kernel On Tue, Feb 10, 2004 at 10:19:32AM -0800, Greg KH wrote: > But devfs never used the dynamic major/minor code. No one used it. > It's not even present anymore in 2.6. That shows that devfs does not > solve this problem by itself. Does udev solve this problem by itself? :) No, it is just agnostic to the change being made in the kernel. Pretty much the same way devfsd would be. > Heh, you haven't ever converted a driver to use devfs have you? If so, > you would have seen the fact that you had to specify your devfs name in > the driver interface. That's hard coding the naming scheme in the > kernel. It's hard coding _a_ name in the kernel. And what's bad about having a constant name for the device, if the user can have their own alternate names? If you ask me, that's many times BETTER than having every system use totally different names for every device with no way to predictably find a device by name. At least with devfs I know that /dev/input/mice will be named /dev/input/mice. This "no policy in kernel space" you claim as a benefit really amounts to "/dev/input/mice could be named anything at all". The default config may have a predictable LSB type name, but what you're talking about isn't the flexibility to have it named anything you want, but the flexibility NOT to have an alternate, predictable name as well. Why is that a good thing? > And how flexible does devfsd allow you to specify your own naming > scheme? How can you get the info from devfsd that you need to provide a > proper device name? No one I know has ever does this. And I know some > people who tried real hard... That's a valid point against the existing devfs/devfsd, there are a few of those (the races, for instance). But it's not inherent to the idea of a devfs. > udev defaults to this. Which is the sane thing to do. I don't know about that. from what I remember of the original devfs discussion, it was along the lines of "LSB involves every device in /dev, and is dumb. We need a new scheme, this is as good as any. Anyone who has a better idea for how devices should be laid out, let me know." ^ permalink raw reply [flat|nested] 59+ messages in thread
* Re: devfs vs udev, thoughts from a devfs user 2004-02-10 18:43 ` Mike Bell @ 2004-02-10 20:11 ` Theodore Ts'o 2004-02-11 1:49 ` Mike Bell 0 siblings, 1 reply; 59+ messages in thread From: Theodore Ts'o @ 2004-02-10 20:11 UTC (permalink / raw) To: Mike Bell; +Cc: linux-kernel On Tue, Feb 10, 2004 at 10:43:03AM -0800, Mike Bell wrote: > That's a valid point against the existing devfs/devfsd, there are a few > of those (the races, for instance). But it's not inherent to the idea of > a devfs. At least some races are inherent to the idea of having a filesystem which is mounted on /dev. At some level, this seems to be your main complaint to the udev/sysfs combination --- that you cannot mount some particular magic filesystem on top of /dev. But think about it. If you are having the kernel specify a specific name, and then allow devfsd program to override it (but have it magically appear in /dev if devfsd is not running) it is very hard to avoid the races, and it certainly makes it hard to do anything other than the one sender, one receiver model. If instead you have a filesystem which fundamentally must be mounted somewhere else, such that there is no question that it can't be mounted on /dev, and you have a notifer which tells you what's going on --- well, you have the udev/sysfs combination. You could pontentially do this if you mount the devfs filesystem on /devfs, but as near as I can tell, that was just a stalking horse by the devfs folks who tried to be all things to all people. If you're going to mount devfs on /devfs, then udev/sysfs does a better job, because that's what it's designed to do. > > udev defaults to this. Which is the sane thing to do. > > I don't know about that. from what I remember of the original devfs > discussion, it was along the lines of "LSB involves every device in > /dev, and is dumb. We need a new scheme, this is as good as any. Anyone > who has a better idea for how devices should be laid out, let me know." What udev defaults to is making the namespace be controlled strictly by the userspace. (i.e., the mount devfs on /devfs approach). As far as putting everything device name in a single directory, that doesn't happen in /sysfs, since the filesystem tree reflects the system's device tree. And in terms of where to put the devices in /dev, in udev that's strictly a userpsace issue --- which is where it should be. - Ted ^ permalink raw reply [flat|nested] 59+ messages in thread
* Re: devfs vs udev, thoughts from a devfs user 2004-02-10 20:11 ` Theodore Ts'o @ 2004-02-11 1:49 ` Mike Bell 0 siblings, 0 replies; 59+ messages in thread From: Mike Bell @ 2004-02-11 1:49 UTC (permalink / raw) To: Theodore Ts'o, linux-kernel On Tue, Feb 10, 2004 at 03:11:19PM -0500, Theodore Ts'o wrote: > At least some races are inherent to the idea of having a filesystem > which is mounted on /dev. At some level, this seems to be your main > complaint to the udev/sysfs combination --- that you cannot mount some > particular magic filesystem on top of /dev. But think about it. If > you are having the kernel specify a specific name, and then allow > devfsd program to override it (but have it magically appear in /dev if > devfsd is not running) it is very hard to avoid the races, and it > certainly makes it hard to do anything other than the one sender, one > receiver model. OK, but I wasn't talking about overriding. In fact, I was taking it as read that the devfs-type solution can't override (which it sort of COULD, but as you say it has races) but would instead have its userspace daemon create nodes _in addition to_ the kernel created ones, based on user policy. Or symlinks, whatever the user space daemon wants. > If instead you have a filesystem which fundamentally must be mounted > somewhere else, such that there is no question that it can't be > mounted on /dev, and you have a notifer which tells you what's going > on --- well, you have the udev/sysfs combination. Agreed. > You could pontentially do this if you mount the devfs filesystem on > /devfs, but as near as I can tell, that was just a stalking horse by > the devfs folks who tried to be all things to all people. If you're > going to mount devfs on /devfs, then udev/sysfs does a better job, > because that's what it's designed to do. Yes, agreed. If anything, that was one of the points I was trying to make, that udev/sysfs is similar in concept to devfsd with devfs mounted somewhere other than /dev (please nobody tell me how sysfs and devfs are different, I know. I meant for the purposes of the udev/devfs user space programs, they're fulfiling the same purpose. Getting a major and minor from the kernel to the userspace daemon by creating a file on a kernel-generated filesystem.) What I would like to see is a kernel generated /dev with kernel-specified paths. A userspace daemon, whether you call it udev or devfsd, would then manage alternate (in addition to, not instead of) naming schemes according to the sysadmin's whim and permissions of device nodes and other things that just don't make sense to do in kernel space. ^ permalink raw reply [flat|nested] 59+ messages in thread
* Re: devfs vs udev, thoughts from a devfs user 2004-02-10 18:19 ` Greg KH 2004-02-10 18:43 ` Mike Bell @ 2004-02-10 19:12 ` Mike Bell 2004-02-13 21:08 ` Greg KH 1 sibling, 1 reply; 59+ messages in thread From: Mike Bell @ 2004-02-10 19:12 UTC (permalink / raw) To: linux-kernel On Tue, Feb 10, 2004 at 10:19:32AM -0800, Greg KH wrote: > ugh, and here I said I wouldn't respond. But to be fair, he wrote me > this before I said that... Also, since it's not intended to be a personal attack but rather an attempt to find the truth, whether you personally want to respond or not I'd still like to respond to the claims you made with why I think they're wrong. ^ permalink raw reply [flat|nested] 59+ messages in thread
* Re: devfs vs udev, thoughts from a devfs user 2004-02-10 19:12 ` Mike Bell @ 2004-02-13 21:08 ` Greg KH 0 siblings, 0 replies; 59+ messages in thread From: Greg KH @ 2004-02-13 21:08 UTC (permalink / raw) To: Mike Bell; +Cc: linux-kernel On Tue, Feb 10, 2004 at 11:12:34AM -0800, Mike Bell wrote: > On Tue, Feb 10, 2004 at 10:19:32AM -0800, Greg KH wrote: > > ugh, and here I said I wouldn't respond. But to be fair, he wrote me > > this before I said that... > > Also, since it's not intended to be a personal attack but rather an > attempt to find the truth, whether you personally want to respond or not > I'd still like to respond to the claims you made with why I think > they're wrong. Ok, will do. ^ permalink raw reply [flat|nested] 59+ messages in thread
* Re: devfs vs udev, thoughts from a devfs user 2004-02-10 11:34 devfs vs udev, thoughts from a devfs user Mike Bell ` (2 preceding siblings ...) 2004-02-10 17:01 ` Greg KH @ 2004-02-10 18:35 ` Greg KH 2004-02-11 1:25 ` Ian Kent 3 siblings, 1 reply; 59+ messages in thread From: Greg KH @ 2004-02-10 18:35 UTC (permalink / raw) To: Mike Bell; +Cc: linux-kernel On Tue, Feb 10, 2004 at 03:34:18AM -0800, Mike Bell wrote: > I've been reading a lot lately about udev and how it's both very > different to and much better than devfs, and with _most_ of the reasons > given, I can't see how either is the case. I'd like to lay out why I > think that is. One final comment: Can you implement a persistent device naming scheme using devfs today? If so, please show me how you would: - always name a USB printer the same /dev name no matter when it is discovered by the USB core (before or after any other USB printer.) - always name your SCSI disk the same /dev name no matter where in the scsi probe sequence it is (yank it out and plug it into another place in your scsi rack.) This is the main problem that udev solves. The fact that it also gives you a dynamic /dev is just extra goodness. thanks, greg k-h ^ permalink raw reply [flat|nested] 59+ messages in thread
* Re: devfs vs udev, thoughts from a devfs user 2004-02-10 18:35 ` Greg KH @ 2004-02-11 1:25 ` Ian Kent 0 siblings, 0 replies; 59+ messages in thread From: Ian Kent @ 2004-02-11 1:25 UTC (permalink / raw) To: linux-kernel; +Cc: Mike Bell On Tue, 10 Feb 2004, Greg KH wrote: > On Tue, Feb 10, 2004 at 03:34:18AM -0800, Mike Bell wrote: > > I've been reading a lot lately about udev and how it's both very > > different to and much better than devfs, and with _most_ of the reasons > > given, I can't see how either is the case. I'd like to lay out why I > > think that is. > > One final comment: Can you implement a persistent device naming scheme > using devfs today? If so, please show me how you would: > - always name a USB printer the same /dev name no matter when it > is discovered by the USB core (before or after any other USB > printer.) > - always name your SCSI disk the same /dev name no matter where > in the scsi probe sequence it is (yank it out and plug it into > another place in your scsi rack.) > > This is the main problem that udev solves. The fact that it also gives > you a dynamic /dev is just extra goodness. In his final comment, inocently, he makes the big point. This a huge deal. Ian ^ permalink raw reply [flat|nested] 59+ messages in thread
* Re: devfs vs udev, thoughts from a devfs user @ 2004-02-10 16:10 "Andrey Borzenkov" 0 siblings, 0 replies; 59+ messages in thread From: "Andrey Borzenkov" @ 2004-02-10 16:10 UTC (permalink / raw) To: "Mike Bell" ; +Cc: linux-kernel > I completely agree. But who would volunteer to spend their time fixing > devfs if no one said they wanted devfs, if all evidence says everyone is > happy with udev? I just wanted to get out that I'm not, I think devfs > (as a concept, not neccessarily the implementation in the kernel right > now) has merits udev does not and never will possess, and to see if anyone > else agrees. I am not happy with udev as it is currently; I am not happy with devfs crashing; I will continue to do what I can as time permits. I do not neccessarily need devfs - but udev lacks two features I need and I do not see any way to add them without creatign the same sort of problems as devfs has. >> Devfs can do this, but it is not necessarily a good thing. >> I tried it - and it only works if someone tries to look up >> a particluar name, such as /dev/dsp. It doesn't work when someone >> does a "ls /dev" to see what devices is there. >> A "ls /dev/dsp*" didn't find the multiple soundcards for which >> modules weren't yet loaded. > no way. this requires far deeper devfs integration that is currently available. there was code that did it for removable media; it was removed during 2.5 series. fixing bugs in devfs is one thing; reintegrating it into kernel is another. basically devfs in 2.6 is reduced to mknod from within drivers devfsd notification on lookup > Nor would you want it to... Although, it might be handy for something > like a SCSI controller. An opendir() in its directory would trigger the > kernel to see what's attached to it. Postponing the probing of every LUN > until someone goes looking could speed up boot times quite a bit. I must admit I never used devfs names myself so it proved rather useless to me even in 2.4 times. -andrey ^ permalink raw reply [flat|nested] 59+ messages in thread
[parent not found: <fa.i9mtr77.1pja9qf@ifi.uio.no>]
[parent not found: <fa.de6p9mb.1ikipbl@ifi.uio.no>]
* Re: devfs vs udev, thoughts from a devfs user [not found] ` <fa.de6p9mb.1ikipbl@ifi.uio.no> @ 2004-02-13 22:08 ` walt 2004-02-13 22:18 ` Greg KH 0 siblings, 1 reply; 59+ messages in thread From: walt @ 2004-02-13 22:08 UTC (permalink / raw) To: Greg KH; +Cc: linux-kernel Greg KH wrote: > ...sysfs exports loads of info about every device in your system, not > only the major:minor info. It exports what device this major:minor > is assigned to, the topology of the device... For the benefit of us schlubs looking in from the outside, could you tell us what you mean by 'topology' ? Thanks, from a gentoo/udev user! ^ permalink raw reply [flat|nested] 59+ messages in thread
* Re: devfs vs udev, thoughts from a devfs user 2004-02-13 22:08 ` walt @ 2004-02-13 22:18 ` Greg KH 0 siblings, 0 replies; 59+ messages in thread From: Greg KH @ 2004-02-13 22:18 UTC (permalink / raw) To: walt; +Cc: linux-kernel On Fri, Feb 13, 2004 at 02:08:36PM -0800, walt wrote: > Greg KH wrote: > > > ...sysfs exports loads of info about every device in your system, not > > only the major:minor info. It exports what device this major:minor > > is assigned to, the topology of the device... > > For the benefit of us schlubs looking in from the outside, could you tell > us what you mean by 'topology' ? Run 'tree' from /sys/devices/ to see the topology of how all of the different devices in your system are hooked together. Notice how the usb mouse is connected to a usb controller which is connected to a pci device, and so on. udev can use that "chain" of devices to determine how to name your device. thanks, greg k-h ^ permalink raw reply [flat|nested] 59+ messages in thread
end of thread, other threads:[~2004-02-27 0:06 UTC | newest]
Thread overview: 59+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-02-10 11:34 devfs vs udev, thoughts from a devfs user Mike Bell
2004-02-10 13:20 ` Helge Hafting
2004-02-10 14:46 ` Mike Bell
2004-02-10 17:02 ` Mark Mielke
[not found] ` <20040210160011.GJ4421@tinyvaio.nome.ca>
2004-02-11 9:44 ` Helge Hafting
2004-02-11 20:05 ` Theodore Ts'o
2004-02-10 13:32 ` Ian Kent
2004-02-10 14:00 ` Mike Bell
2004-02-10 17:01 ` Greg KH
2004-02-10 17:13 ` Mike Bell
2004-02-10 17:25 ` Greg KH
2004-02-10 17:46 ` Mike Bell
2004-02-10 18:12 ` Greg KH
2004-02-10 18:29 ` Mike Bell
2004-02-10 22:19 ` Matthew Reppert
2004-02-11 1:10 ` Mike Bell
2004-02-11 10:05 ` Helge Hafting
2004-02-13 21:19 ` Greg KH
2004-02-14 8:51 ` Mike Bell
2004-02-14 9:13 ` Christian Borntraeger
2004-02-14 11:42 ` Helge Hafting
2004-02-14 16:54 ` Greg KH
2004-02-14 17:44 ` Alex Goddard
2004-02-15 8:16 ` Andrew Walrond
2004-02-19 9:47 ` Mike Bell
2004-02-19 19:43 ` Greg KH
2004-02-27 0:02 ` Mike Bell
2004-02-10 19:10 ` Shawn
2004-02-10 17:52 ` Chris Friesen
2004-02-10 19:24 ` Mike Bell
2004-02-10 19:46 ` Chris Friesen
2004-02-10 19:58 ` Tomasz Torcz
2004-02-10 20:11 ` Kevin P. Fleming
2004-02-10 20:39 ` Bill Rugolsky Jr.
2004-02-11 1:16 ` Greg KH
2004-02-11 1:41 ` Kevin P. Fleming
2004-02-11 9:36 ` Maneesh Soni
2004-02-11 7:50 ` viro
2004-02-11 12:33 ` Bill Rugolsky Jr.
2004-02-11 15:11 ` [PATCH] Fix /etc/mtab updating with mount --move [was Re: devfs vs udev, thoughts from a devfs user] Bill Rugolsky Jr.
2004-02-11 19:19 ` devfs vs udev, thoughts from a devfs user dleonard
2004-02-10 20:32 ` Diego Calleja García
2004-02-11 1:20 ` Mike Bell
2004-02-10 20:15 ` Timothy Miller
2004-02-10 22:24 ` Matthew Reppert
2004-02-11 1:35 ` Mike Bell
2004-02-10 20:44 ` Valdis.Kletnieks
2004-02-10 17:55 ` Mike Bell
2004-02-10 18:19 ` Greg KH
2004-02-10 18:43 ` Mike Bell
2004-02-10 20:11 ` Theodore Ts'o
2004-02-11 1:49 ` Mike Bell
2004-02-10 19:12 ` Mike Bell
2004-02-13 21:08 ` Greg KH
2004-02-10 18:35 ` Greg KH
2004-02-11 1:25 ` Ian Kent
-- strict thread matches above, loose matches on Subject: below --
2004-02-10 16:10 "Andrey Borzenkov"
[not found] <fa.i9mtr77.1pja9qf@ifi.uio.no>
[not found] ` <fa.de6p9mb.1ikipbl@ifi.uio.no>
2004-02-13 22:08 ` walt
2004-02-13 22:18 ` Greg KH
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox