Subject: Re: devfs, was Re: ptyfs fully working now...
To: Eric Haszlakiewicz <erh@nimenees.com>
From: Bill Studenmund <wrstuden@netbsd.org>
List: tech-kern
Date: 11/18/2004 10:29:38
--3Gf/FFewwPeBMqCJ
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Sat, Nov 13, 2004 at 09:48:23PM -0600, Eric Haszlakiewicz wrote:
> On Fri, Nov 12, 2004 at 10:42:25PM -0500, der Mouse wrote:
>=20
> 	I was thinking that a better way to do this would be a devfs as a
> slightly twisted unionfs style layer. The changes in permissions (if any)
> would be stored in the filesystem as permissions on a symlink in the unde=
rlying
> filestore.  e.g.:
> 	Filestore         device       Visible
>     ----------        ------       -------
> foo -> .../dev/audio  audio        foo as an actual device node
> (nothing)             mixerctl     mixerctl as dev node
> fd0a -> .../deleted   fd0a         nothing visible
>   (or perhaps a whiteout)
> bar -> blah           (anything)   normal symlink to blah
> xxx -> .../dev/aaa    (no aaa)     normal symlink

Why is that better? That would be a very messy to code, and we have some=20
very messy naming issues. We seem to have two name spaces, that of nodes=20
on the disk and that of devices. Sometimes the namespace for devices shows=
=20
up, sometimes it doesn't.

Also, what happens when we rename a node? That name in the "node" space is=
=20
now open, so we could more another device's node there. Now say there's a=
=20
symlink to that name. Does it point to the original node, or the=20
newly-named node (i.e. does it point to the name at the node or at the=20
device level)?

I uesd to think some idea using on-disk device nodes would work, but I=20
don't anymore. Why shouldn't we just synthesize the whole thing from=20
scratch?

Take care,

Bill

--3Gf/FFewwPeBMqCJ
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3 (NetBSD)

iD8DBQFBnOoSWz+3JHUci9cRAtJyAJ4lYM+DbIccH3aN5pUWXESOUJAzlwCdH7g9
kqcoueZr8a1HwRFCva4Cy3o=
=LXjd
-----END PGP SIGNATURE-----

--3Gf/FFewwPeBMqCJ--