filesystem -- format of filesystem types


#include <sys/types.h>
#include <sys/param.h>

#include <sys/fs/*filsys.h>


A filesystem organizes a collection of files and directories that are stored on one partition of a disk. Every filesystem storage volume (for example, a hard disk) has a common format for certain vital information. Every such volume is divided into a certain number of blocks. The filesystem architectures are specified in files in the </usr/include/sys/fs> directory. The supported filesystems and their corresponding include files are:

File Filesystem architecture
htfilesys.h S51K (UNIX filesystem), HTFS (High Throughput Filesystem), EAFS (Enhanced ACER Fast Filesystem) and AFS (ACER Fast Filesystem)
vx_layout.h VxFS filesystem

 |File        | Filesystem architecture   |
 |htfilesys.h | S51K (UNIX filesystem),   |
 |            | HTFS (High Throughput     |
 |            | Filesystem), EAFS         |
 |            | (Enhanced ACER Fast       |
 |            | Filesystem) and AFS (ACER |
 |            | Fast Filesystem)          |
 |vx_layout.h | VxFS filesystem           |

The internal structure of a filesystem contains these major sections:

super block
A special data block that contains global information about the filesystem. The super block resides in the beginning of logical block 1 of every filesystem (block 0 is unused and available to contain a bootstrap program or other information). It contains information like the filesystem architecture being used (for example, s_type), the size of the inode array (for example, s_isize), the list of available blocks (for example, s_free), and the list of available inodes (for example, s_inode). It also contains some status information.

A separate inode is assigned for each file and directory in the filesystem and contains control and status information as well as pointers to the data blocks that are used to hold the data for that file or directory. The inodes are usually obtained from an array of available inodes (the ilist) and are referenced by an index into that array (called an inumber). For the format of an inode, see inode(FP))

data storage blocks
Storage for the data in the files and directories that are part of the filesystem. These are referenced by number and maintained through the inodes of the files that use them.



See also

fsck(ADM), fsname(ADM), inode(FP), labelit(ADM), mkfs(ADM)
© 2005 File Formats for Programming (FP)
SCO OpenServer Release 6.0.0 -- 02 June 2005