FSTAB(5)                  NetBSD File Formats Manual                  FSTAB(5)

NAME
     fstab -- filesystem table for devices, types, and mount points

SYNOPSIS
     #include <fstab.h>

DESCRIPTION
     The file fstab contains descriptive information about the various file
     systems.  fstab is only read by programs, and not written; it is the duty
     of the system administrator to properly create and maintain this file.
     Each filesystem is described on a separate line; fields on each line are
     separated by tabs or spaces. Lines beginning with ``#'' are comments.
     The order of records in fstab is important because fsck(8), mount(8), and
     umount(8) sequentially iterate through fstab doing their respective
     tasks.

     Each configuration line/record in fstab has the format:
           fs_spec fs_file fs_vfstype fs_mntops fs_freq fs_passno

     The first field, (fs_spec), describes the block special device or remote
     filesystem to be mounted.  For filesystems of type ffs, the special file
     name is the block special file name, and not the character special file
     name.  If a program needs the character special file name, the program
     must create it by appending a ``r'' after the last ``/'' in the special
     file name.

     The second field, (fs_file), describes the mount point for the filesys-
     tem.  For swap and dump partitions, this field should be specified as
     ``none''.

     The third field, (fs_vfstype), describes the type of the filesystem.  The
     system currently supports these filesystems:

           adosfs    an AmigaDOS filesystem.

           cd9660    an ISO 9660 CD-ROM filesystem.

           ext2fs    an implementation of the Linux ``Second Extended
                     File-system''.

           fdesc     an implementation of /dev/fd.

           ffs       a local UNIX filesystem.

           filecore  a filesystem for RISC OS.

           kernfs    various and sundry kernel statistics.

           lfs       a log-structured file-system.

           mfs       a local memory-based UNIX filesystem.

           msdos     an MS-DOS ``FAT filesystem''.

           nfs       a Sun Microsystems compatible ``Network File System''.

           ntfs      a filesystem used by Windows NT.  Still experimental.

           null      a loop-back filesystem, allowing parts of the system to
                     be viewed elsewhere.

           overlay   a demonstration of layered filesystems.

           portal    a general filesystem interface, currently supports TCP
                     and FS mounts.

           procfs    a local filesystem of process information.

           ptyfs     a pseudo-terminal device file system.

           smbfs     a shared resource from an SMB/CIFS file server.

           swap      a disk partition to be used for swapping and paging.

           tmpfs     an efficient memory file system.

           umap      a user and group re-mapping filesystem.

           union     a translucent filesystem.

     The fourth field, (fs_mntops), describes the mount options associated
     with the filesystem.  It is formatted as a comma separated list of
     options.  It contains at least the type of mount (see fs_type below) plus
     any additional options appropriate to the filesystem type.

     The option ``auto'' can be used in the ``noauto'' form to cause a file
     system not to be mounted automatically (with ``mount -a'' , or system
     boot time).

     If the options ``userquota'' and/or ``groupquota'' are specified, the
     filesystem is automatically processed by the quotacheck(8) command, and
     user and/or group disk quotas are enabled with quotaon(8).  By default,
     filesystem quotas are maintained in files named quota.user and
     quota.group which are located at the root of the associated filesystem.
     These defaults may be overridden by putting an equal sign and an alterna-
     tive absolute pathname following the quota option.  Thus, if the user
     quota file for /tmp is stored in /var/quotas/tmp.user, this location can
     be specified as:

           userquota=/var/quotas/tmp.user

     The type of the mount is extracted from the fs_mntops field and stored
     separately in the fs_type field (it is not deleted from the fs_mntops
     field).  If fs_type is ``rw'' or ``ro'' then the filesystem whose name is
     given in the fs_file field is normally mounted read-write or read-only on
     the specified special file.  If fs_type is ``sw'' or ``dp'' then the spe-
     cial file is made available as a piece of swap or dump space by the
     swapctl(8) command towards the beginning of the system reboot procedure.
     See swapctl(8) for more information on configuring swap and dump devices.
     The fields other than fs_spec and fs_type are unused.  If fs_type is
     specified as ``xx'' the entry is ignored.  This is useful to show disk
     partitions which are currently unused.

     The fifth field, (fs_freq), is used for these filesystems by the dump(8)
     command to determine which filesystems need to be dumped.  If the fifth
     field is not present, a value of zero is returned and dump(8) will assume
     that the filesystem does not need to be dumped.

     The sixth field, (fs_passno), is used by the fsck(8) program to determine
     the order in which filesystem checks are done at reboot time.  The root
     filesystem should be specified with a fs_passno of 1, and other filesys-
     tems should have a fs_passno of 2.  Filesystems within a drive will be
     checked sequentially, but filesystems on different drives will be checked
     at the same time to use parallelism available in the hardware.  If the
     sixth field is not present or zero, a value of zero is returned and
     fsck(8) will assume that the filesystem does not need to be checked.

     #define FSTAB_RW        "rw"    /* read-write device */
     #define FSTAB_RQ        "rq"    /* read/write with quotas */
     #define FSTAB_RO        "ro"    /* read-only device */
     #define FSTAB_SW        "sw"    /* swap device */
     #define FSTAB_DP        "dp"    /* dump device */
     #define FSTAB_XX        "xx"    /* ignore totally */

     struct fstab {
             char    *fs_spec;       /* block special device name */
             char    *fs_file;       /* filesystem path prefix */
             char    *fs_vfstype;    /* type of filesystem */
             char    *fs_mntops;     /* comma separated mount options */
             char    *fs_type;       /* rw, ro, sw, or xx */
             int     fs_freq;        /* dump frequency, in days */
             int     fs_passno;      /* pass number on parallel fsck */
     };

     The proper way to read records from fstab is to use the routines
     getfsent(3), getfsspec(3), and getfsfile(3).

FILES
     /etc/fstab  The location of fstab configuration file.

     /usr/share/examples/fstab/
                 Some useful configuration examples.

SEE ALSO
     getfsent(3), mount(8), swapctl(8)

HISTORY
     The fstab file format appeared in 4.0BSD.

NetBSD 5.0_STABLE                March 9, 2007               NetBSD 5.0_STABLE
