DragonFly kernel List (threaded) for 2007-07
DragonFly BSD
DragonFly kernel List (threaded) for 2007-07
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: vfs/vnode/file overhaul


From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxx>
Date: Wed, 25 Jul 2007 11:46:36 -0700 (PDT)

: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



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