vfs/vnode/file overhaul
Matthew Dillon
dillon at apollo.backplane.com
Wed Jul 25 11:48:18 PDT 2007
: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
Right now, all device operations are fed through specfs which
hits both the vnode AND the device. Without a devfs, hitting the vnode
is required in order to properly update access and modified times
when someone ls's or stat()'s the device node in the filesystem. e.g.
stat("/dev/ttyv0",...). These namespace operations completely bypass
fileops.
So the only way to do it properly and still be able to bypass the vnode
API is to have a devfs which provides a direct fileops interface and
ALSO provides a filesystem/namespace API and ensures that device accesses
update the times reported through the filesystem/namespace API.
Or to put it another way, our fileops API has a function vector for
fstat(), but fileops only works with open descriptors and has no way
of controlling namespace operations such as stat() unless the code
backing the interface is aware of both == Implies having a devfs.
-Matt
More information about the Kernel
mailing list