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

Changes between Version 24 and Version 25 of FSDesign


Ignore:
Timestamp:
2009-11-17T19:37:09Z (10 years ago)
Author:
Jakub Jermář
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • FSDesign

    v24 v25  
    163163As mentioned above, each endpoint file system server needs to implement the VFS output protocol. Through the polymorphism this offers, HelenOS currently supports the following file system types (and we believe that more can be added):
    164164
    165  TMPFS::
     165 '''TMPFS'''::
    166166 A custom memory based file system without an on-disk format and permanent storage.
    167167
    168  FAT16::
     168 '''FAT16'''::
    169169 A well known, non-Unix like file system with simple on-disk format.
    170170
    171  DEVFS::
     171 '''DEVFS'''::
    172172 A custom pseudo file system for representing devices in the file system.
    173173
     174Especially the servers for file systems with permanent storage, such as FAT16, need to communicate with the underlying block device. Therefore, there needs to be a mechanism to connect the endpoint file system server with the block device. This mechanism is provided by the DEVMAP server which registers all the device driver servers and lets their clients to connect to them using the device handle. This is how the endpoint file system server establishes a connection to the underlying block device via the libblock library, which itself uses the standard library's interface to DEVMAP:
     175
     176{{{
     177        #include <ipc/devmap.h>
     178....
     179        dev_handle_t dev_handle;
     180....
     181        int dev_phone = devmap_device_connect(dev_handle, IPC_FLAG_BLOCKING);
     182        if (dev_phone < 0) {
     183                /* handle error */
     184        }
     185}}}
     186