Subject: Re: devfs, was Re: ptyfs fully working now...
To: Steven M. Bellovin <>
From: Bill Studenmund <>
List: tech-kern
Date: 11/13/2004 00:22:20
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment
Content-Transfer-Encoding: quoted-printable

On Fri, Nov 12, 2004 at 10:18:46PM -0500, Steven M. Bellovin wrote:
> In message <>, Christos Zoulas wr=
> This is all pretty convoluted.  Let me phrase the question this way:=20
> what problem does this solve?  I see two possibilities: it keeps /dev=20
> from being cluttered with non-existent nodes, and it avoids the=20
> necessity of having to create nodes when a new device is added.  Let me=
> suggest a simpler devfs that will avoid the need for this file.

That's a very good question.

I have a broader idea as to what a devfs should be. In addition to making=
only the device nodes that are important show up (unconfigured ones don't=
show up, new ones appear with reasonable defaults), we provide a facility=
that permits mapping device access attributes (owner/group/mode/ACL) to=20
"the real device" such that we are insensitive (or much less sensitive) to=
autoconfiguration ordering.

So you can do things like make partitions or wedges bind to things like a=
SCSI disk's WWN, or a RAID array's serial #. Or you can make the USB=20
printer that has the check blanks in it only accessible to the accounting=
software, regardles of if it's ulpt0 or ulp3 (obviously you still have=20
issues regarding someone hooking said printer to a different computer or=20
simply stealing check blanks, but the OS can't help with that).

That's what I want devfs to do, and I think we probably can do it.

[details removed]

> I haven't thought through all the details (and I'm more than slightly=20
> fried from being at the IETF all week), so there are probably plenty of=
> other holes I've missed.  But I think my first question stands: what=20
> problem does devfs solve?

See above. And thank you for asking it. By explaining what I want to do, I=
hope it's clearer why I want bits of the complexity I want.

Take care,


Content-Type: application/pgp-signature
Content-Disposition: inline

Version: GnuPG v1.2.3 (NetBSD)