Changes between Version 19 and Version 20 of FSDesign

2009-11-17T16:14:35Z (14 years ago)
Jakub Jermář


  • FSDesign

    v19 v20  
    88 * [#FSDesignVFS VFS server],
    10  * [#FSDesignFS set of individual file system servers], and
     10 * [#FSDesignFS set of endpoint file system servers], and
    1212 * [#FSDesignLibFS libfs library].
    139139The symbolic names of requests in the VFS output protocol are prefixed with VFS_OUT.
     141=== PLB and canonical file paths ===
     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()''.