hello David. What I don't see in your proposal is a way of
implementing a dynamic device
filesystem. NetBSD, and possibly OpenBSD, are the last Unix-like OS's that I'm
aware of that
use static special files in their filesystems to point to devices. If your
proposal was
extended with the idea that we have a device filesystem, then wouldn't we only
need one
implementation of a filesystem that knows anything about devices? When you
want a device tree
in a chroot, you just mount the device filesystem on that chroot. That
filesystem would need a
utility that converts a configuration file or database into static permissions
and ownership,
but that could be done on a per-instance basis, i.e. have a configuration that
describes /dev
at the root of the system, and other /dev's that describe chrooted dev
environments, or dev's
in application directories. The only case that doesn't cover, that I'm aware
of, is what to do
about sockets and fifos, which are commonly scattered all over filesystem trees.
In any case, with the advent of gpt named partitions, zfs volumes, USB
pluggable devices
and other dynamic device environments, not having a dynamic device filesystem
is becoming a
real detriment. The way we handle ZFS is just goofy and fraught with bugs in
dynamic
situations.I'd like to see a more integrated approach to this problem.
-thanks
-Brian