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