Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
FSTAB(5)		    BSD	File Formats Manual		      FSTAB(5)

     fstab -- file system table	for devices, types, and	mount points

     #include <fstab.h>

     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 file system 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

     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
     file system to be mounted.	 For file systems 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 pro-
     gram 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 file sys-
     tem.  For swap and	dump partitions, this field should be specified	as

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

	   adosfs    an	AmigaDOS file system.

	   cd9660    an	ISO 9660 CD-ROM	file system.

	   ext2fs    an	implementation of the Linux "Second Extended

	   fdesc     an	implementation of /dev/fd.

	   ffs	     a local UNIX file system.

	   filecore  a file system for RISC OS.

	   kernfs    various and sundry	kernel statistics.

	   lfs	     a log-structured file-system.

	   mfs	     a local memory-based UNIX file system.

	   msdos     an	MS-DOS "FAT file system".

	   nfs	     a Sun Microsystems	compatible "Network File System".

	   ntfs	     a file system used	by Windows NT.	Still experimental.

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

	   overlay   a demonstration of	layered	file systems.

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

	   procfs    a local file system 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 file system.

	   union     a translucent file	system.

     The fourth	field, (fs_mntops), describes the mount	options	associated
     with the file system.  It is formatted as a comma separated list of op-
     tions.  It	contains at least the type of mount (see fs_type below)	plus
     any additional options appropriate	to the file system 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 file
     system is automatically processed by the quotacheck(8) command, and
     legacy user and/or	group disk quotas are enabled with quotaon(8).	By de-
     fault, file system	quotas are maintained in files named quota.user	and which are located at the root of the associated file system.
     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:


     It	is recommended to turn on the new, in-file system quota	with tunefs(8)
     or	at newfs(8) time, and to not use the "userquota" or "groupquota" op-
     tions.  Migration of limits to the	new in-file system quota can be	han-
     dled via quotadump(8) and quotarestore(8).

     The option	"rump" is used to mount	the file system	using a	rump(3)
     userspace server instead of the kernel server.

     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 file system 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 special
     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 par-
     titions which are currently unused.

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

     The sixth field, (fs_passno), is used by the fsck(8) program to determine
     the order in which	file system checks are done at reboot time.  The root
     file system should	be specified with a fs_passno of 1, and	other file
     systems should have a fs_passno of	2.  Filesystems	within a drive will be
     checked sequentially, but file systems 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 file system 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;	     /*	file system path prefix	*/
	     char    *fs_vfstype;    /*	type of	file system */
	     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).

     /etc/fstab	 The location of fstab configuration file.

		 Some useful configuration examples.

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

     The fstab file format appeared in 4.0BSD.

BSD				 March 6, 2011				   BSD


Want to link to this manual page? Use this URL:

home | help