Fork us on GitHub Follow us on Facebook Follow us on Twitter

Changes between Version 19 and Version 20 of FSDesign


Ignore:
Timestamp:
2009-11-17T16:14:35Z (10 years ago)
Author:
Jakub Jermář
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • FSDesign

    v19 v20  
    88 * [#FSDesignVFS VFS server],
    99
    10  * [#FSDesignFS set of individual file system servers], and
     10 * [#FSDesignFS set of endpoint file system servers], and
    1111
    1212 * [#FSDesignLibFS libfs library].
     
    138138
    139139The symbolic names of requests in the VFS output protocol are prefixed with VFS_OUT.
     140
     141=== PLB and canonical file paths ===
     142
     143VFS and the endpoint file system servers cooperate in resolving file system paths to VFS triplets. Roughly speaking, VFS consults the file systems mounted along the given path. Each of them resolves maximum of the yet unresolved portion of the path until it either reaches a mount point or the end of the path. Eventually, the last file system server will manage to resolve the path and reply to the VFS server by sending the resulting VFS triplet. One of the design goals of the HelenOS file system layer is to avoid the situation in which a path or its portion would be repeatedly copied back and forth between VFS and each endpoint file system server. In order to meet this design criteria, VFS allocates and maintains a ring buffer in which it stores all looked-up paths. Owing to its use, the buffer is called Pathname Lookup Buffer, or PLB, and each endpoint file system server shares it read-only with VFS. The paths are places into the buffer by the above mentioned function ''vfs_lookup_internal()''.