| 30 | |
| 31 | == VFS server == #FSDesignVFS |
| 32 | |
| 33 | The VFS server is the focal point of and also the most complex element of |
| 34 | the file system support in the HelenOS operating system. It exists as a |
| 35 | standalone user task. We can talk about the VFS frontend and VFS backend. |
| 36 | |
| 37 | The frontend is responsible for accepting requests from the client tasks. |
| 38 | Their arguments are either absolute file paths, file handles of already |
| 39 | opened files, and in some special cases also VFS triplets (see below). |
| 40 | |
| 41 | If the argument is a file path, VFS uses the ''vfs_lookup_internal()'' function to |
| 42 | translate the path into the so called VFS triplet. A VFS triplet is an ordered |
| 43 | triplet containing a global handle of the file system instance, a global device |
| 44 | handle and a file index. Thus a VFS triplet uniquely identifies a file on |
| 45 | some file system instance. |
| 46 | |