DragonFly kernel List (threaded) for 2009-05
as you know I'll be working on DevFS for Google Summer of Code 2009.
Some of you may know me already either from IRC, from random rant at the
bug tracker or from my clang related mails to this list. For those who
don't, a brief introduction:
I'm an Electronic Engineering Undegraduate at University College London,
but I'm German, although I've lived most of my life in Madrid, Spain.
I've been around the DragonFly BSD Project for 4 months now, mostly
doing small stuff like fixing some minor bugs off the bug tracker and
working on clang support for DragonFly. I started off with an I/O
Scheduler Framework which is now stalled due to exams but I intend to
continue to work on it after completing DevFS.
The aim of the GSoC project is to implement a Device File System (DevFS)
in the DragonFly Kernel to replace the current way of handling dev
nodes. I'm sure all of you know the advantages of a DevFS so I won't go
into much detail, just a few points on how I intend to implement it.
The idea is to implement DevFS using fileops and integrating it directly
with make_dev and destroy_dev.
There will also be a userland daemon which will receive notifications of
new devices; this daemon will basically be used to keep a configuration
file for devfs including permissions and hence telling the devfs in the
kernel which permissions to use to create a specific node. It could also
be used to run specific programs/scripts/commands whenever something new
DevFS will also affect the disk subsystem because currently there is no
active probing of disk slices and labels. For DevFS to work properly,
this will have to be changed.
I intend to keep a page on http://leaf.dragonflybsd.org/~alexh/ about
the progress on DevFS. It currently is a bit outdated as there is still
the original idea about a proposal for DevFS. Also, if you happen to
look around, both the LLVM/clang and I/O Scheduler pages need a major
overhaul; better to just ignore them right now.
Sorry for the long mail, but I'm looking forward to hear any
ideas/suggestions/comments about this.