From: Michael Tokarev <mjt@tls.msk.ru>
To: linux-kernel@vger.kernel.org
Subject: Re: [ANNOUNCE] ndevfs - a "nano" devfs
Date: Fri, 24 Jun 2005 16:23:49 +0400 [thread overview]
Message-ID: <42BBFB55.3040008@tls.msk.ru> (raw)
In-Reply-To: <20050624081808.GA26174@kroah.com>
Greg KH wrote:
> Now I just know I'm going to regret this somehow...
Why?
Well. I've read several endless discussions about devfs/udev/dev etc.
I've a question still, which has been raised by several other people
too. The question is this: "what is a naming policy?"
Kernel already have some "naming scheme", used internally. Think
about /proc/partitions, /sys nodenames (/sys/block/sda etc), think
about dmesg output (serial: registered device tttS0) etc.
This is just because devices *have* to be named *somehow*.
And, IMHO, there should be a way for the user (or whomever),
when he sees that dmesg/partitions/whatever, to access that
device in /dev.
That same device can have other names too, like
/dev/MyYellowCDBurner or /dev/MyPhotoCamera. I think
*that* is a policy. And there's an internal (in-kernel)
naming scheme. Which has been here for ages, with alot
or programs expected to see "standard" names in /dev
(think how lilo or, worse, mdadm, fails when it can't
find a device listed in /proc/partitions because the
node has been created with different name according
to "policy").
More, with dynamic (or semi-dynamic) /dev, like devfs
or udev provides, the directory isn't cluttered with
alot of unused files anymore (before udev, i was trying
to move grouops of devices into subdirs in /dev, like
moving all scsi disks (sd) to /dev/sd/, with the only
reason: to have less entries in /dev, some of which
can be useful in some future...), it isn't really
that matters if it will have flat namespace. Ok
ok, with 20K scsi devices, it may be problematic
somehow.. i dunno really, a machine with 20K
disks usually have apropriate amount of RAM too).
So, to summarize all that. A dynamic /dev, which
creates/removes nodes using in-kernel naming scheme
(which is here for ages) automatically, and calls
external program to help create "policy"-based
naming -- i don't think it's a bad idea anyway.
> Anyway, here's yet-another-ramfs-based filesystem, ndevfs. It's a very
> tiny:
> $ size fs/ndevfs/inode.o
> text data bss dec hex filename
> 1571 200 8 1779 6f3 fs/ndevfs/inode.o
> replacement for devfs for those embedded users who just can't live
> without the damm thing. It doesn't allow subdirectories, and only uses
> LSB compliant names. But it works, and should be enough for people to
> use, if they just can't wean themselves off of the idea of an in-kernel
> fs to provide device nodes.
>
> Now, with this, is there still anyone out there who just can't live
> without devfs in their kernel?
>
> Damm, the depths I've sunk to these days, I'm such a people pleaser...
>
> Comments? Questions? Criticisms?
A question. I can't apply this to 2.6.12, it fails in
drivers/base/class.c -- the main portion i think. What's
this patch against?
I'd love to see how it works but.. can't compile it ;)
And another question. Why it isn't possible to use
plain tmpfs for this sort of things? Why to create
another filesystem, instead of just using current
tmpfs and call mknod/unlink on it as appropriate?
This same tmpfs can be used by udev too (to create
that "policy"-based names), and it gives us all
the directories and other stuff...
Thanks.
/mjt
next prev parent reply other threads:[~2005-06-24 12:24 UTC|newest]
Thread overview: 50+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-06-24 8:18 [ANNOUNCE] ndevfs - a "nano" devfs Greg KH
2005-06-24 12:23 ` Michael Tokarev [this message]
2005-06-24 15:16 ` Greg KH
2005-06-24 15:40 ` Michael Tokarev
2005-06-24 16:26 ` Greg KH
2005-06-24 14:32 ` Bill Gatliff
2005-06-24 15:17 ` Steven Rostedt
2005-06-24 15:20 ` Greg KH
2005-06-24 17:10 ` Michael Tokarev
2005-06-24 17:10 ` Bill Gatliff
2005-06-28 7:40 ` Greg KH
2005-06-24 19:05 ` Mike Bell
2005-06-24 21:55 ` J.A. Magallon
2005-06-24 19:22 ` Alexey Dobriyan
2005-06-25 0:57 ` Kyle Moffett
2005-06-25 7:37 ` Denis Vlasenko
2005-06-28 7:41 ` Greg KH
2005-06-28 19:56 ` Tom Rini
2005-06-28 21:08 ` Olaf Hering
2005-06-28 21:25 ` Tom Rini
2005-06-28 22:08 ` Michael Tokarev
2005-06-28 22:23 ` Tom Rini
2005-06-25 22:15 ` Matt Mackall
2005-06-25 23:43 ` Greg KH
2005-06-26 8:23 ` Russell King
2005-06-28 3:36 ` Greg KH
2005-06-27 7:19 ` Mike Bell
2005-06-27 22:35 ` Dmitry Torokhov
2005-06-27 23:26 ` Mike Bell
2005-06-28 7:40 ` Greg KH
2005-06-28 9:08 ` Mike Bell
2005-06-28 9:21 ` Arjan van de Ven
2005-06-28 9:40 ` Mike Bell
2005-06-28 21:49 ` Jim Crilly
2005-06-28 22:23 ` Mike Bell
2005-06-28 23:43 ` Jim Crilly
2005-06-29 0:12 ` Mike Bell
2005-06-29 0:39 ` David Lang
2005-06-29 0:53 ` Mike Bell
2005-06-28 12:00 ` Oliver Neukum
2005-06-28 20:08 ` Greg KH
2005-06-29 6:41 ` Oliver Neukum
2005-06-29 16:06 ` Greg KH
2005-06-29 16:22 ` Oliver Neukum
[not found] ` <200506270819.20108.arnd@arndb.de>
2005-06-28 3:46 ` Greg KH
[not found] <OF831AC472.851744FE-ON8025702A.004A57EC-8025702A.004B5AE9@sophos.com>
2005-06-24 15:23 ` Greg KH
-- strict thread matches above, loose matches on Subject: below --
2005-06-24 15:32 tvrtko.ursulin
2005-06-24 16:27 ` Greg KH
2005-06-27 15:21 Adam J. Richter
2005-06-27 23:27 ` J.A. Magallon
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=42BBFB55.3040008@tls.msk.ru \
--to=mjt@tls.msk.ru \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox