The Virtual File System (VFS) kernel services are provided as fundamental building blocks for use when writing a virtual file system . These services present a standard interface for such functions as configuring file systems, creating and freeing v-nodes, and looking up path names.
Most functions involved in the writing of a file system are specific to that file system type. But a limited number of functions must be performed in a consistent manner across the various file system types to enable the logical file system to operate independently of the file system type.
The VFS kernel services are:
|common_relock||Implements a generic interface to the byte range locking functions.|
|fidtovp||Maps a file system structure to a file ID.|
|gfsadd||Adds a file system type to the gfs table.|
|gfsdel||Removes a file system type from the gfs table.|
|vfs_hold||Holds a vfs structure and increments the structure's use count.|
|vfs_unhold||Releases a vfs structure and decrements the structure's use count.|
|vfsrele||Releases all resources associated with a virtual file system.|
|vfs_search||Searches the vfs list.|
|vn_free||Frees a v-node previously allocated by the vn_get kernel service.|
|vn_get||Allocates a virtual node and associates it with the designated virtual file system.|
|lookupvp||Retrieves the v-node that corresponds to the named path.|
Understanding the Virtual File System Interface.