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

Changes between Version 16 and Version 17 of FSDesign


Ignore:
Timestamp:
2009-11-17T11:03:54Z (10 years ago)
Author:
Jakub Jermář
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • FSDesign

    v16 v17  
    4141
    4242The frontend is responsible for accepting requests from the client tasks. For each client,
    43 VFS spawns a dedicated connection fibril which handles to connection. Arguments of the incoming
     43VFS spawns a dedicated connection fibril which handles the connection. Arguments of the incoming
    4444requests are either absolute file paths, file handles of already opened files, and in some special
    4545cases also VFS triplets (see below). Regardless of their type, the arguments typically
     
    128128
    129129In the above code snippet, the ''vfs_rdwr()'' function first translates the file handle using the ''vfs_file_get()'' interface to a ''vfs_file_t'' structure and then locks the result. The VFS node is directly accessed in the two RW-lock lock operations at the end of the example.
     130
     131
     132==== VFS backend ====
     133
     134As soon as the VFS server knows the VFS node associated with the request, it either asks one of the endpoint file system servers to carry out the operation for it or, when it has enough information, it completes the operation itself. For example, VFS handles the VFS_IN_SEEK request, which corresponds to the POSIX call ''lseek()'', entirely on its own, because it just manipulates the current position pointer within the respective ''vfs_file_t'' structure. In the worst case, when seeking to the end of the file, VFS needs to know the size of the file, but this is not a problem, because the server maintains the current file size in each VFS node.
     135