tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Devices.



> We should really get with the times and create a devfs.  I know that
> there are people that disagree with this (likely including you), but
> the archaic device node system causes a lot of headaches and it's
> time that we joined the 21st century.

I am not someone who thinks that we, for any value of 'we", should go
with the new simply because it's new.

I've seen various flavours of devfs.  They have good aspects.  They
also have bad aspects.

I'm curious what headaches you think devfs would fix.  (I know what
headaches *I* think it would fix.  I'm wondering which ones *you* think
are worth bringing it in for.)

The major downside I've seen is that they also render difficult or
impossible a number of clever things that are rarely useful but
borderline essential when they are useful.  Most of those things are
based on devices being "just" filesystem nodes, leading to things such
as the same device appearing more than once in the filesystem
(including places outside /dev), things such as chroot areas with
hand-crafted (and severely cut-down) /dev directories...some of the
devfs variants I've seen don't even support chmod/chown.

By the time you (re)implement all the filesystem operations that give
/dev much of its power, you're pretty much back where you started, only
with a custom filesystem - with new and different bugs and far less
well tested code - on /dev.

devfs is a great thing to experiment with.  NetBSD is - well, was - a
good platform for that.  Perhaps there's a devfs design somewhere
that's solved enough of the issues that it's worth making available.

But I really don't think doing away with conventional device nodes is
sane yet.  Most of the benefits of devfs can be achieved with some kind
of userland interface to the autoconf tree and some userland daemons -
mechanism, not policy.  All the devfses I've seen have, in my opinion,
way too much policy wired into them.

> [...] I think we have enough brain power and enough real world
> examples to be able to not repeat the mistakes of the past.

Not if we do it to "join[] the 21st century".  That's a very wrong
reason to do...well, almost anything technical.

IMO.

/~\ The ASCII				  Mouse
\ / Ribbon Campaign
 X  Against HTML		mouse%rodents-montreal.org@localhost
/ \ Email!	     7D C8 61 52 5D E7 2D 39  4E F1 31 3E E8 B3 27 4B


Home | Main Index | Thread Index | Old Index