DragonFly kernel List (threaded) for 2007-07
Re: vfs/vnode/file overhaul
Matthew Dillon wrote:
:as a 1.11 topic I think we should change the vnode/file interface to make more sense. these are of course just stupid ideas to illustrate what I am thinking of:
:- all per-fdesc-I/O runs through a struct file and not directly to a vnode
:- vnodes only represent logical entities (on disk), NOT devices or whatnot.
:- thus drop specfs, this always seemed switched in at the wrong place in the stack
:- this will allow us to do device cloning
:- a slim vnode interface makes it easier to do support a...
:- userland vfs interface which can support something like the kernel API, so userland drivers have a chance to be easily ported to the kernel.
:do I make sense? feedback expected!
I actually did implement a direct file-descriptor based interface for
devices, but quickly found that a lot of bits and pieces in the system
depend on the access and modified times of the device node in the
filesystem being updated. This is a particular requirement for TTYs
In otherwords, we need a devfs. Once we have that then, yes, we can
get rid of the vnode API for devices.
in which way would that fix the issue? how does the file and devfs play together? i'd simply have put a vnode back-pointer (for now) to keep the times updated.
Serve - BSD +++ RENT this banner advert +++ ASCII Ribbon /"\
Work - Mac +++ space for low €€€ NOW!1 +++ Campaign \ /
Party Enjoy Relax | http://dragonflybsd.org Against HTML \
Dude 2c 2 the max ! http://golden-apple.biz Mail + News / \