Matthew Dillon wrote:
:Hey, : :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! : :cheers : simonI 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 and PTYs. 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. cheers simon -- 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 / \
