FSTAB(5) 1990 FSTAB(5) NNAAMMEE fstab - static information about the filesystems SSYYNNOOPPSSIISS ##iinncclluuddee <<ffssttaabb..hh>> DDEESSCCRRIIPPTTIIOONN The file /_e_t_c/_f_s_t_a_b contains descriptive information about the various file systems. /_e_t_c/_f_s_t_a_b is only read by pro- grams, 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. The order of records in /_e_t_c/_f_s_t_a_b is important because _f_s_c_k, _m_o_u_n_t, and _u_m_o_u_n_t sequentially iterate through /_e_t_c/_f_s_t_a_b doing their thing. The first field, (_f_s__s_p_e_c), describes the block special dev- ice or remote filesystem to be mounted. For filesystems of type uuffss, 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, (_f_s__f_i_l_e), describes the mount point for the filesystem. For swap partitions, this field should be specified as ``none''. The third field, (_f_s__v_f_s_t_y_p_e), describes the type of the filesystem. The system currently supports four types of filesystems: uuffss a local UNIX filesystem mmffss a local memory-based UNIX filesystem nnffss a Sun Microsystems compatible ``Network File Sys- tem'' sswwaapp a disk partition to be used for swapping The fourth field, (_f_s__m_n_t_o_p_s), 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 _f_s__t_y_p_e below) plus any additional options appropriate to the filesystem type. If the options ``userquota'' and/or ``groupquota'' are specified, the filesystem is automatically processed by the _q_u_o_t_a_c_h_e_c_k(8) command, and user and/or group disk quotas are enabled with _q_u_o_t_a_o_n(8). By default, filesystem quotas are Printed 7/27/90 June 1 FSTAB(5) 1990 FSTAB(5) maintained in files named _q_u_o_t_a._u_s_e_r and _q_u_o_t_a._g_r_o_u_p which are located at the root of the associated filesystem. These defaults may be overridden by putting an equal sign and an alternative 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 _f_s__m_n_t_o_p_s field and stored separately in the _f_s__t_y_p_e field (it is not deleted from the _f_s__m_n_t_o_p_s field). If _f_s__t_y_p_e is ``rw'' or ``ro'' then the filesystem whose name is given in the _f_s__f_i_l_e field is normally mounted read-write or read-only on the specified special file. If _f_s__t_y_p_e is ``sw'' then the special file is made available as a piece of swap space by the _s_w_a_p_o_n(8) command at the end of the system reboot pro- cedure. The fields other than _f_s__s_p_e_c and _f_s__t_y_p_e are unused. If _f_s__t_y_p_e is specified as ``xx'' the entry is ignored. This is useful to show disk partitions which are currently unused. The fifth field, (_f_s__f_r_e_q), is used for these filesystems by the _d_u_m_p(8) command to determine which filesystems need to be dumped. If the fifth field is not present, a value of zero is returned and _d_u_m_p will assume that the filesystem does not need to be dumped. The sixth field, (_f_s__p_a_s_s_n_o), is used by the _f_s_c_k(8) program to determine the order in which filesystem checks are done at reboot time. The root filesystem should be specified with a _f_s__p_a_s_s_n_o of 1, and other filesystems should have a _f_s__p_a_s_s_n_o of 2. Filesystems within a drive will be checked sequentially, but filesystems on different drives will be checked at the same time to utilize parallelism available in the hardware. If the sixth field is not present or zero, a value of zero is returned and _f_s_c_k will assume that the filesystem does not need to be checked. #define FSTAB_RW "rw" /* read-write device */ #define FSTAB_RO "ro" /* read-only device */ #define FSTAB_SW "sw" /* swap 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 dump */ Printed 7/27/90 June 2 FSTAB(5) 1990 FSTAB(5) }; The proper way to read records from /_e_t_c/_f_s_t_a_b is to use the routines getfsent(), getfsspec(), getfstype(), and getfs- file(). FFIILLEESS /etc/fstab SSEEEE AALLSSOO getfsent(3) Printed 7/27/90 June 3