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--