mount

mlima filesystem

   MOUNT(8)		   Linux Programmer's Manual		      MOUNT(8)



NAME
       mount - mount a file system

SYNOPSIS
       mount [-lhV]

       mount -a [-fFnrsvw] [-t vfstype] [-O optlist]
       mount [-fnrsvw] [-o options [,...]] device | dir
       mount [-fnrsvw] [-t vfstype] [-o options] device dir

DESCRIPTION
       All files accessible in a Unix system are arranged in one big tree, the
       file hierarchy, rooted at /.  These files can be spread out  over  sev-
       eral  devices. The mount command serves to attach the file system found
       on some device to the big file tree. Conversely, the umount(8)  command
       will detach it again.

       The standard form of the mount command, is
	      mount -t type device dir
       This  tells the kernel to attach the file system found on device (which
       is of type type) at the directory dir.  The previous contents (if  any)
       and  owner  and	mode of dir become invisible, and as long as this file
       system remains mounted, the pathname dir refers to the root of the file
       system on device.

       Three forms of invocation do not actually mount anything:
	      mount -h
       prints a help message;
	      mount -V
       prints a version string; and just
	      mount [-l] [-t type]
       lists  all mounted file systems (of type type).	The option -l adds the
       (ext2, ext3 and XFS) labels in this listing.  See below.

       Since Linux 2.4.0 it is possible to remount part of the file  hierarchy
       somewhere else. The call is
	      mount --bind olddir newdir
       or fstab entry is:
	      /olddir  /newdir	none  bind
       After this call the same contents is accessible in two places.  One can
       also remount a single file (on a single file).

       This call attaches only (part of) a  single  filesystem,	 not  possible
       submounts.  The entire file hierarchy including submounts is attached a
       second place using
	      mount --rbind olddir newdir

       Note that the filesystem mount options will remain the same as those on
       the  original  mount  point,  and  cannot  be changed by passing the -o
       option along with --bind/--rbind.

       Since Linux 2.5.1 it is possible to atomically move a mounted  tree  to
       another place. The call is
	      mount --move olddir newdir

       Since  Linux 2.6.15 it is possible to mark a mount and its submounts as
       shared, private, slave or unbindable. A shared mount  provides  ability
       to create mirrors of that mount such that mounts and umounts within any
       of the mirrors propagate to the other mirror. A	slave  mount  receives
       propagation  from  its master, but any not vice-versa.  A private mount
       carries no propagation abilities.  A  unbindable	 mount	is  a  private
       mount  which cannot cloned through a bind operation. Detailed semantics
       is documented in Documentation/sharedsubtree.txt	 file  in  the	kernel
       source tree.
	      mount --make-shared mountpoint
	      mount --make-slave mountpoint
	      mount --make-private mountpoint
	      mount --make-unbindable mountpoint

       The following commands allows one to recursively change the type of all
       the mounts under a given mountpoint.
	      mount --make-rshared mountpoint
	      mount --make-rslave mountpoint
	      mount --make-rprivate mountpoint
	      "mount --make-runbindable mountpoint"

       The proc file system is not associated with a special device, and  when
       mounting	 it, an arbitrary keyword, such as proc can be used instead of
       a device specification.	(The customary choice none is less  fortunate:
       the error message `none busy' from umount can be confusing.)

       Most  devices are indicated by a file name (of a block special device),
       like /dev/sda1, but there are other possibilities. For example, in  the
       case  of	 an  NFS mount, device may look like knuth.cwi.nl:/dir.	 It is
       possible to indicate a block special device using its volume  label  or
       UUID (see the -L and -U options below).

       The  file  /etc/fstab (see fstab(5)), may contain lines describing what
       devices are usually mounted where, using which options.	This  file  is
       used in three ways:

       (i) The command
	      mount -a [-t type] [-O optlist]
       (usually	 given	in  a bootscript) causes all file systems mentioned in
       fstab (of the proper type  and/or  having  or  not  having  the	proper
       options)	 to  be mounted as indicated, except for those whose line con-
       tains the noauto keyword. Adding the -F option will make mount fork, so
       that the filesystems are mounted simultaneously.

       (ii)  When  mounting  a	file system mentioned in fstab, it suffices to
       give only the device, or only the mount point.

       (iii) Normally, only the superuser can mount  file  systems.   However,
       when  fstab  contains  the user option on a line, anybody can mount the
       corresponding system.

       Thus, given a line
	      /dev/cdrom  /cd  iso9660	ro,user,noauto,unhide
       any user can mount the iso9660 file system found on his CDROM using the
       command
	      mount /dev/cdrom
       or
	      mount /cd
       For  more details, see fstab(5).	 Only the user that mounted a filesys-
       tem can unmount it again.  If any user should be able to unmount,  then
       use users instead of user in the fstab line.  The owner option is simi-
       lar to the user option, with the restriction that the user must be  the
       owner  of  the  special	file. This may be useful e.g. for /dev/fd if a
       login script makes the console user owner of this  device.   The	 group
       option is similar, with the restriction that the user must be member of
       the group of the special file.

       The programs mount and umount maintain a list of currently mounted file
       systems	in  the	 file  /etc/mtab.  If no arguments are given to mount,
       this list is printed.

       When the proc filesystem is mounted (say at /proc), the files /etc/mtab
       and  /proc/mounts  have	very similar contents. The former has somewhat
       more information, such as the mount options used, but is not  necessar-
       ily  up-to-date	(cf.  the  -n option below). It is possible to replace
       /etc/mtab by a symbolic link to /proc/mounts, and especially  when  you
       have  very large numbers of mounts things will be much faster with that
       symlink, but some information is lost that way, and in particular work-
       ing  with the loop device will be less convenient, and using the "user"
       option will fail.


OPTIONS
       The full set of options used by an invocation of mount is determined by
       first  extracting the options for the file system from the fstab table,
       then applying any options specified by the  -o  argument,  and  finally
       applying a -r or -w option, when present.

       Options available for the mount command:

       -V     Output version.

       -h     Print a help message.

       -v     Verbose mode.

       -a     Mount all filesystems (of the given types) mentioned in fstab.

       -F     (Used  in	 conjunction  with -a.)	 Fork off a new incarnation of
	      mount for each device.  This will do  the	 mounts	 on  different
	      devices  or  different  NFS  servers  in parallel.  This has the
	      advantage that it is faster; also NFS timeouts go in parallel. A
	      disadvantage  is	that  the  mounts are done in undefined order.
	      Thus, you cannot use this option if you want to mount both  /usr
	      and /usr/spool.

       -f     Causes  everything to be done except for the actual system call;
	      if it's not obvious, this ``fakes'' mounting  the	 file  system.
	      This  option is useful in conjunction with the -v flag to deter-
	      mine what the mount command is trying to do. It can also be used
	      to add entries for devices that were mounted earlier with the -n
	      option. The -f option checks for existing	 record	 in  /etc/mtab
	      and  fails when the record already exists (with regular non-fake
	      mount, this check is done by kernel).

       -i     Don't  call  the	/sbin/mount.<filesystem>  helper  even	if  it
	      exists.

       -l     Add  the	ext2,  ext3  and XFS labels in the mount output. Mount
	      must have permission to read the disk device (e.g. be suid root)
	      for  this	 to  work.   One can set such a label for ext2 or ext3
	      using the e2label(8) utility, or for XFS using xfs_admin(8),  or
	      for reiserfs using reiserfstune(8).

       -n     Mount without writing in /etc/mtab.  This is necessary for exam-
	      ple when /etc is on a read-only file system.

       -p num In case of a loop mount with  encryption,	 read  the  passphrase
	      from file descriptor num instead of from the terminal.

       -s     Tolerate	sloppy	mount  options	rather than failing. This will
	      ignore mount options not supported by a filesystem type. Not all
	      filesystems  support this option. This option exists for support
	      of the Linux autofs-based automounter.

       -r     Mount the file system read-only. A synonym is -o ro.

       -w     Mount the file system read/write. This is the default. A synonym
	      is -o rw.

       -L label
	      Mount the partition that has the specified label.

       -U uuid
	      Mount  the  partition  that  has	the specified uuid.  These two
	      options require the file /proc/partitions (present  since	 Linux
	      2.1.116) to exist.

       -t vfstype
	      The  argument following the -t is used to indicate the file sys-
	      tem type.	 The file system types which are  currently  supported
	      include:	adfs,  affs,  autofs,  cifs,  coda,  coherent, cramfs,
	      debugfs, devpts, efs,  ext,  ext2,  ext3,	 hfs,  hfsplus,	 hpfs,
	      iso9660,	jfs, minix, msdos, ncpfs, nfs, nfs4, ntfs, proc, qnx4,
	      ramfs, reiserfs, romfs, smbfs, sysv, tmpfs,  udf,	 ufs,  umsdos,
	      usbfs,  vfat,  xenix,  xfs, xiafs.  Note that coherent, sysv and
	      xenix are equivalent and that xenix and coherent will be removed
	      at  some	point  in the future -- use sysv instead. Since kernel
	      version 2.1.21 the types ext and xiafs  do  not  exist  anymore.
	      Earlier,	usbfs  was  known as usbdevfs.	Note, the real list of
	      all supported filesystems depends on your kernel.

	      For most types all the mount program has to do is issue a simple
	      mount(2)	system call, and no detailed knowledge of the filesys-
	      tem type is required.  For a few types however (like nfs,	 nfs4,
	      cifs,  smbfs,  ncpfs)  ad	 hoc code is necessary. The nfs, nfs4,
	      cifs, smbfs, and ncpfs have a separate mount program.  In	 order
	      to  make	it possible to treat all types in a uniform way, mount
	      will execute the program /sbin/mount.TYPE (if that exists)  when
	      called  with  type TYPE.	Since various versions of the smbmount
	      program have different  calling  conventions,  /sbin/mount.smbfs
	      may have to be a shell script that sets up the desired call.

	      If  no  -t  option  is  given, or if the auto type is specified,
	      mount will try to guess the desired type.	 Mount uses the	 blkid
	      or  volume_id  library for guessing the filesystem type; if that
	      does not turn up anything that looks familiar, mount will try to
	      read  the	 file  /etc/filesystems,  or,  if that does not exist,
	      /proc/filesystems.  All of the  filesystem  types	 listed	 there
	      will  be tried, except for those that are labeled "nodev" (e.g.,
	      devpts, proc and nfs).  If /etc/filesystems ends in a line  with
	      a single * only, mount will read /proc/filesystems afterwards.

	      The auto type may be useful for user-mounted floppies.  Creating
	      a file /etc/filesystems can be useful to change the probe	 order
	      (e.g.,  to  try vfat before msdos or ext3 before ext2) or if you
	      use a kernel module autoloader.  Warning:	 the  probing  uses  a
	      heuristic	 (the presence of appropriate `magic'), and could rec-
	      ognize the wrong filesystem  type,  possibly  with  catastrophic
	      consequences.  If	 your  data  is	 valuable,  don't ask mount to
	      guess.

	      More than one type may be specified in a comma  separated	 list.
	      The list of file system types can be prefixed with no to specify
	      the file system types on which no action should be taken.	 (This
	      can be meaningful with the -a option.)

	      For example, the command:
		     mount -a -t nomsdos,ext
	      mounts all file systems except those of type msdos and ext.

       -O     Used  in conjunction with -a, to limit the set of filesystems to
	      which the -a is applied.	Like -t in this regard except that  it
	      is  useless  except in the context of -a.	 For example, the com-
	      mand:
		     mount -a -O no_netdev
	      mounts all file systems except those which have the option _net-
	      dev specified in the options field in the /etc/fstab file.

	      It  is different from -t in that each option is matched exactly;
	      a leading no at the beginning of one option does not negate  the
	      rest.

	      The  -t  and  -O	options are cumulative in effect; that is, the
	      command
		     mount -a -t ext2 -O _netdev
	      mounts all ext2 filesystems with the  _netdev  option,  not  all
	      filesystems  that	 are  either  ext2  or have the _netdev option
	      specified.

       -o     Options are specified with a -o flag followed by a  comma	 sepa-
	      rated  string of options.	 Some of these options are only useful
	      when they appear in the /etc/fstab file.	The following  options
	      apply  to	 any  file system that is being mounted (but not every
	      file system actually honors them - e.g., the sync	 option	 today
	      has effect only for ext2, ext3, fat, vfat and ufs):

	      async  All I/O to the file system should be done asynchronously.

	      atime  Update inode access time for each	access.	 This  is  the
		     default.

	      auto   Can be mounted with the -a option.

	      defaults
		     Use  default  options: rw, suid, dev, exec, auto, nouser,
		     and async.

	      dev    Interpret character or block special devices on the  file
		     system.

	      exec   Permit execution of binaries.

	      group  Allow an ordinary (i.e., non-root) user to mount the file
		     system if one of his groups  matches  the	group  of  the
		     device.  This option implies the options nosuid and nodev
		     (unless overridden	 by  subsequent	 options,  as  in  the
		     option line group,dev,suid).

	      nofail Do	 not  report  errors  for  this	 device if it does not
		     exist.

	      mand   Allow mandatory locks on this filesystem. See fcntl(2).

	      _netdev
		     The filesystem resides on a device that requires  network
		     access  (used  to	prevent	 the system from attempting to
		     mount  these  filesystems	until  the  network  has  been
		     enabled on the system).

	      noatime
		     Do	 not  update  inode  access  times on this file system
		     (e.g, for faster access on the news  spool	 to  speed  up
		     news servers).

	      nodiratime
		     Do	 not  update  directory	 inode	access	times  on this
		     filesystem.

	      relatime
		     Update inode access times relative to  modify  or	change
		     time.  Access time is only updated if the previous access
		     time was earlier than the current modify or change	 time.
		     (Similar  to  noatime,  but  doesn't  break mutt or other
		     applications that need to know if a file  has  been  read
		     since the last time it was modified.)

	      norelatime
		     Do	 not use realatime feature (e.g, for systems where the
		     feature is enabled by default, for more details see mount
		     options in /proc/mounts).

	      noauto Can  only be mounted explicitly (i.e., the -a option will
		     not cause the file system to be mounted).

	      nodev  Do not interpret character or block  special  devices  on
		     the file system.

	      noexec Do	 not  allow  direct  execution	of any binaries on the
		     mounted file system.  (Until recently it was possible  to
		     run  binaries  anyway  using  a  command like /lib/ld*.so
		     /mnt/binary.  This	 trick	fails  since  Linux  2.4.25  /
		     2.6.0.)

	      nomand Do not allow mandatory locks on this filesystem.

	      nosuid Do	 not allow set-user-identifier or set-group-identifier
		     bits to take effect. (This seems safe,  but  is  in  fact
		     rather unsafe if you have suidperl(1) installed.)

	      nouser Forbid  an	 ordinary  (i.e.,  non-root) user to mount the
		     file system.  This is the default.

	      owner  Allow an ordinary (i.e., non-root) user to mount the file
		     system  if	 he  is	 the owner of the device.  This option
		     implies the options nosuid and nodev  (unless  overridden
		     by	  subsequent   options,	  as   in   the	  option  line
		     owner,dev,suid).

	      remount
		     Attempt to remount an already-mounted file system.	  This
		     is	 commonly  used	 to  change the mount flags for a file
		     system, especially to make a readonly file system	write-
		     able. It does not change device or mount point.

		     The  remount  functionality  follows the standard way how
		     the mount command works with options from fstab. It means
		     the  mount command doesn't read fstab (or mtab) only when
		     a device and dir are fully specified.

		     mount -o remount,rw /dev/foo /dir

		     After this call all old mount options  are	 replaced  and
		     arbitrary	stuff  from fstab is ignored, except the loop=
		     option which is internally generated  and	maintained  by
		     the mount command.

		     mount -o remount,rw  /dir

		     After  this  call	mount reads fstab (or mtab) and merges
		     these options with options from command line ( -o ).

	      ro     Mount the file system read-only.

	      rw     Mount the file system read-write.

	      suid   Allow set-user-identifier or set-group-identifier bits to
		     take effect.

	      sync   All  I/O to the file system should be done synchronously.
		     In case of media with  limited  number  of	 write	cycles
		     (e.g.  some  flash	 drives)  "sync"  may cause life-cycle
		     shortening.

	      dirsync
		     All directory updates within the file  system  should  be
		     done  synchronously.   This  affects the following system
		     calls: creat, link, unlink, symlink, mkdir, rmdir,	 mknod
		     and rename.

	      user   Allow  an	ordinary  user	to mount the file system.  The
		     name of the mounting user is written to mtab so  that  he
		     can  unmount  the file system again.  This option implies
		     the options noexec, nosuid, and nodev (unless  overridden
		     by	  subsequent   options,	  as   in   the	  option  line
		     user,exec,dev,suid).

	      users  Allow every user to mount and unmount  the	 file  system.
		     This option implies the options noexec, nosuid, and nodev
		     (unless overridden	 by  subsequent	 options,  as  in  the
		     option line users,exec,dev,suid).

	      context=context, fscontext=context and defcontext=context
		     The  context=  option is useful when mounting filesystems
		     that do not support extended attributes, such as a floppy
		     or hard disk formatted with VFAT, or systems that are not
		     normally running under SELinux, such as an ext3 formatted
		     disk  from	 a  non-SELinux	 workstation. You can also use
		     context= on filesystems you  do  not  trust,  such	 as  a
		     floppy.  It  also	helps in compatibility with xattr-sup-
		     porting filesystems on earlier 2.4.<x>  kernel  versions.
		     Even  where  xattrs  are supported, you can save time not
		     having to label every file by assigning the  entire  disk
		     one security context.

		     A	commonly  used	option	for  removable	media  is con-
		     text=system_u:object_r:removable_t.

		     Two other options are fscontext= and defcontext=, both of
		     which  are mutually exclusive of the context option. This
		     means you can use	fscontext  and	defcontext  with  each
		     other, but neither can be used with context.

		     The  fscontext= option works for all filesystems, regard-
		     less of their xattr support. The  fscontext  option  sets
		     the  overarching  filesystem label to a specific security
		     context. This filesystem label is separate from the indi-
		     vidual  labels  on	 the  files.  It represents the entire
		     filesystem for certain kinds of permission	 checks,  such
		     as during mount or file creation.	Individual file labels
		     are still obtained from the xattrs	 on  the  files	 them-
		     selves.  The  context  option actually sets the aggregate
		     context that fscontext provides, in addition to supplying
		     the same label for individual files.

		     You  can  set  the default security context for unlabeled
		     files using defcontext= option. This overrides the	 value
		     set for unlabeled files in the policy and requires a file
		     system that supports xattr labeling.

		     For more details see selinux(8)

       --bind Remount a subtree somewhere  else	 (so  that  its	 contents  are
	      available in both places). See above.

       --move Move a subtree to some other place. See above.


FILESYSTEM SPECIFIC MOUNT OPTIONS
       The following options apply only to certain file systems.  We sort them
       by file system. They all follow the -o flag.

       What options are supported depends a bit on the running	kernel.	  More
       info  may  be  found  in	 the  kernel  source  subdirectory  Documenta-
       tion/filesystems.


Mount options for adfs
       uid=value and gid=value
	      Set the owner  and  group	 of  the  files	 in  the  file	system
	      (default: uid=gid=0).

       ownmask=value and othmask=value
	      Set the permission mask for ADFS 'owner' permissions and 'other'
	      permissions,  respectively  (default:  0700  and	0077,  respec-
	      tively).	   See	  also	 /usr/src/linux/Documentation/filesys-
	      tems/adfs.txt.

Mount options for affs
       uid=value and gid=value
	      Set the owner and group of the root of the file system (default:
	      uid=gid=0,  but  with option uid or gid without specified value,
	      the uid and gid of the current process are taken).

       setuid=value and setgid=value
	      Set the owner and group of all files.

       mode=value
	      Set the mode of all files to value & 0777 disregarding the orig-
	      inal  permissions.   Add	search	permission to directories that
	      have read permission.  The value is given in octal.

       protect
	      Do not allow any changes to the protection bits on the file sys-
	      tem.

       usemp  Set  uid	and  gid of the root of the file system to the uid and
	      gid of the mount point upon the first sync or umount,  and  then
	      clear this option. Strange...

       verbose
	      Print an informational message for each successful mount.

       prefix=string
	      Prefix used before volume name, when following a link.

       volume=string
	      Prefix  (of  length at most 30) used before '/' when following a
	      symbolic link.

       reserved=value
	      (Default: 2.) Number of  unused  blocks  at  the	start  of  the
	      device.

       root=value
	      Give explicitly the location of the root block.

       bs=value
	      Give blocksize. Allowed values are 512, 1024, 2048, 4096.

       grpquota / noquota / quota / usrquota
	      These  options are accepted but ignored.	(However, quota utili-
	      ties may react to such strings in /etc/fstab.)


Mount options for cifs
       See the options section of the mount.cifs(8) man page (cifs-mount pack-
       age must be installed).


Mount options for coherent
       None.


Mount options for debugfs
       The  debugfs file system is a pseudo file system, traditionally mounted
       on /sys/kernel/debug.  There are no mount options.


Mount options for devpts
       The devpts file system is a pseudo file system,	traditionally  mounted
       on  /dev/pts.   In  order to acquire a pseudo terminal, a process opens
       /dev/ptmx; the number of the pseudo terminal is then made available  to
       the   process  and  the	pseudo	terminal  slave	 can  be  accessed  as
       /dev/pts/<number>.

       uid=value and gid=value
	      This sets the owner or the group of newly created	 PTYs  to  the
	      specified values. When nothing is specified, they will be set to
	      the UID and GID of the creating process.	For example, if	 there
	      is  a  tty group with GID 5, then gid=5 will cause newly created
	      PTYs to belong to the tty group.

       mode=value
	      Set the mode of newly created PTYs to the specified value.   The
	      default  is  0600.  A value of mode=620 and gid=5 makes "mesg y"
	      the default on newly created PTYs.


Mount options for ext
       None.  Note that the `ext' file	system	is  obsolete.  Don't  use  it.
       Since  Linux  version  2.1.21  extfs  is	 no  longer part of the kernel
       source.


Mount options for ext2
       The `ext2' file system is the standard Linux file system.  Since	 Linux
       2.5.46,	for  most  mount  options  the	default	 is  determined by the
       filesystem superblock. Set them with tune2fs(8).

       acl / noacl
	      Support POSIX Access Control Lists (or not).

       bsddf / minixdf
	      Set the behaviour for the statfs system call. The minixdf behav-
	      iour  is	to  return  in	the f_blocks field the total number of
	      blocks of the file system, while the bsddf behaviour  (which  is
	      the default) is to subtract the overhead blocks used by the ext2
	      file system and not available for file storage. Thus

       % mount /k -o minixdf; df /k; umount /k
       Filesystem   1024-blocks	 Used Available Capacity Mounted on
       /dev/sda6      2630655	86954  2412169	    3%	 /k
       % mount /k -o bsddf; df /k; umount /k
       Filesystem   1024-blocks	 Used Available Capacity Mounted on
       /dev/sda6      2543714	   13  2412169	    0%	 /k

       (Note that this example shows that one can add command line options  to
       the options given in /etc/fstab.)


       check=none / nocheck
	      No  checking is done at mount time. This is the default. This is
	      fast.  It is wise to invoke e2fsck(8) every now and  then,  e.g.
	      at boot time.

       debug  Print debugging info upon each (re)mount.

       errors=continue / errors=remount-ro / errors=panic
	      Define  the  behaviour  when  an	error is encountered.  (Either
	      ignore errors and just mark the file system erroneous  and  con-
	      tinue,  or  remount the file system read-only, or panic and halt
	      the system.)  The default is set in the  filesystem  superblock,
	      and can be changed using tune2fs(8).

       grpid or bsdgroups / nogrpid or sysvgroups
	      These  options  define  what group id a newly created file gets.
	      When grpid is set, it takes the group id	of  the	 directory  in
	      which  it is created; otherwise (the default) it takes the fsgid
	      of the current process, unless the directory has the setgid  bit
	      set,  in	which case it takes the gid from the parent directory,
	      and also gets the setgid bit set if it is a directory itself.

       grpquota / noquota / quota / usrquota
	      These options are accepted but ignored.

       nobh   Do not attach buffer_heads to file pagecache. (Since 2.5.49.)

       nouid32
	      Disables 32-bit UIDs and GIDs.   This  is	 for  interoperability
	      with older kernels which only store and expect 16-bit values.

       oldalloc or orlov
	      Use  old	allocator  or Orlov allocator for new inodes. Orlov is
	      default.

       resgid=n and resuid=n
	      The ext2 file system reserves a certain percentage of the avail-
	      able space (by default 5%, see mke2fs(8) and tune2fs(8)).	 These
	      options determine who can use the	 reserved  blocks.   (Roughly:
	      whoever  has  the	 specified  uid,  or  belongs to the specified
	      group.)

       sb=n   Instead of block 1, use block n as  superblock.  This  could  be
	      useful  when  the filesystem has been damaged.  (Earlier, copies
	      of the superblock would be made every 8192 blocks: in  block  1,
	      8193,  16385,  ...  (and	one  got  thousands of copies on a big
	      filesystem).  Since  version  1.08,  mke2fs  has	a  -s  (sparse
	      superblock)  option  to reduce the number of backup superblocks,
	      and since version 1.15 this is the default. Note that  this  may
	      mean  that ext2 filesystems created by a recent mke2fs cannot be
	      mounted r/w under Linux 2.0.*.)  The block number here  uses  1k
	      units.  Thus,  if	 you  want  to	use  logical  block 32768 on a
	      filesystem with 4k blocks, use "sb=131072".

       user_xattr / nouser_xattr
	      Support "user." extended attributes (or not).



Mount options for ext3
       The `ext3' file system is a version of the ext2 file system  which  has
       been  enhanced  with journalling.  It supports the same options as ext2
       as well as the following additions:

       journal=update
	      Update the ext3 file system's journal to the current format.

       journal=inum
	      When a journal already exists, this option  is  ignored.	Other-
	      wise,  it specifies the number of the inode which will represent
	      the ext3 file system's journal file;  ext3  will	create	a  new
	      journal,	overwriting  the  old contents of the file whose inode
	      number is inum.

       noload Do not load the ext3 file system's journal on mounting.

       data=journal / data=ordered / data=writeback
	      Specifies the journalling	 mode  for  file  data.	  Metadata  is
	      always  journaled.   To use modes other than ordered on the root
	      file system, pass the mode to the kernel as boot parameter, e.g.
	      rootflags=data=journal.

	      journal
		     All  data	is  committed  into the journal prior to being
		     written into the main file system.

	      ordered
		     This is the default mode.	All data  is  forced  directly
		     out  to  the main file system prior to its metadata being
		     committed to the journal.

	      writeback
		     Data ordering is not preserved - data may be written into
		     the  main file system after its metadata has been commit-
		     ted to the journal.  This is rumoured to be the  highest-
		     throughput	 option.   It  guarantees internal file system
		     integrity, however it can allow old  data	to  appear  in
		     files after a crash and journal recovery.

       commit=nrsec
	      Sync  all	 data  and  metadata  every nrsec seconds. The default
	      value is 5 seconds. Zero means default.

       user_xattr
	      Enable Extended User Attributes. See the attr(5) manual page.

       acl    Enable POSIX Access Control Lists. See the acl(5) manual page.


Mount options for fat
       (Note: fat is not a separate filesystem,	 but  a	 common	 part  of  the
       msdos, umsdos and vfat filesystems.)

       blocksize=512 / blocksize=1024 / blocksize=2048
	      Set blocksize (default 512).

       uid=value and gid=value
	      Set the owner and group of all files.  (Default: the uid and gid
	      of the current process.)

       umask=value
	      Set the umask (the bitmask  of  the  permissions	that  are  not
	      present).	 The default is the umask of the current process.  The
	      value is given in octal.

       dmask=value
	      Set the umask applied to directories only.  The default  is  the
	      umask of the current process.  The value is given in octal.

       fmask=value
	      Set the umask applied to regular files only.  The default is the
	      umask of the current process.  The value is given in octal.

       check=value
	      Three different levels of pickyness can be chosen:

	      r[elaxed]
		     Upper and lower case are accepted	and  equivalent,  long
		     name   parts  are	truncated  (e.g.   verylongname.foobar
		     becomes verylong.foo), leading and	 embedded  spaces  are
		     accepted in each name part (name and extension).

	      n[ormal]
		     Like  "relaxed",  but  many  special characters (*, ?, <,
		     spaces, etc.) are rejected.  This is the default.

	      s[trict]
		     Like "normal", but names may not contain long  parts  and
		     special  characters that are sometimes used on Linux, but
		     are not accepted by MS-DOS are rejected. (+,  =,  spaces,
		     etc.)

       codepage=value
	      Sets  the codepage for converting to shortname characters on FAT
	      and VFAT filesystems. By default, codepage 437 is used.

       conv=b[inary] / conv=t[ext] / conv=a[uto]
	      The fat file system can perform CRLF<-->NL (MS-DOS  text	format
	      to  UNIX	text  format)  conversion in the kernel. The following
	      conversion modes are available:

	      binary no translation is performed.  This is the default.

	      text   CRLF<-->NL translation is performed on all files.

	      auto   CRLF<-->NL translation is performed  on  all  files  that
		     don't  have  a "well-known binary" extension. The list of
		     known  extensions	can  be	 found	at  the	 beginning  of
		     fs/fat/misc.c  (as	 of  2.0,  the list is: exe, com, bin,
		     app, sys, drv, ovl, ovr, obj, lib, dll,  pif,  arc,  zip,
		     lha,  lzh,	 zoo, tar, z, arj, tz, taz, tzp, tpz, gz, tgz,
		     deb, gif, bmp, tif, gl, jpg, pcx, tfm, vf, gf,  pk,  pxl,
		     dvi).

	      Programs	that do computed lseeks won't like in-kernel text con-
	      version.	Several people have had	 their	data  ruined  by  this
	      translation. Beware!

	      For  file	 systems  mounted  in  binary  mode, a conversion tool
	      (fromdos/todos) is available.

       cvf_format=module
	      Forces the driver to use the CVF (Compressed Volume File) module
	      cvf_module  instead  of  auto-detection.	If the kernel supports
	      kmod, the cvf_format=xxx option also controls on-demand CVF mod-
	      ule loading.

       cvf_option=option
	      Option passed to the CVF module.

       debug  Turn  on	the  debug  flag.  A version string and a list of file
	      system parameters will be printed (these data are	 also  printed
	      if the parameters appear to be inconsistent).

       fat=12 / fat=16 / fat=32
	      Specify  a  12,  16 or 32 bit fat.  This overrides the automatic
	      FAT type detection routine.  Use with caution!

       iocharset=value
	      Character set to use for converting between 8 bit characters and
	      16 bit Unicode characters. The default is iso8859-1.  Long file-
	      names are stored on disk in Unicode format.

       tz=UTC This option disables the conversion of timestamps between	 local
	      time  (as	 used  by  Windows  on	FAT) and UTC (which Linux uses
	      internally).  This is particuluarly useful when mounting devices
	      (like digital cameras) that are set to UTC in order to avoid the
	      pitfalls of local time.

       quiet  Turn on the quiet flag.  Attempts to chown or chmod files do not
	      return errors, although they fail. Use with caution!

       sys_immutable, showexec, dots, nodots, dotsOK=[yes|no]
	      Various misguided attempts to force Unix or DOS conventions onto
	      a FAT file system.


Mount options for hfs
       creator=cccc, type=cccc
	      Set the creator/type values as shown by the  MacOS  finder  used
	      for creating new files.  Default values: '????'.

       uid=n, gid=n
	      Set the owner and group of all files.  (Default: the uid and gid
	      of the current process.)

       dir_umask=n, file_umask=n, umask=n
	      Set the umask used for all directories, all  regular  files,  or
	      all files and directories.  Defaults to the umask of the current
	      process.

       session=n
	      Select the CDROM session to mount.   Defaults  to	 leaving  that
	      decision	to  the CDROM driver.  This option will fail with any-
	      thing but a CDROM as underlying device.

       part=n Select partition number n from the device.  Only makes sense for
	      CDROMS.  Defaults to not parsing the partition table at all.

       quiet  Don't complain about invalid mount options.


Mount options for hpfs
       uid=value and gid=value
	      Set  the owner and group of all files. (Default: the uid and gid
	      of the current process.)

       umask=value
	      Set the umask (the bitmask  of  the  permissions	that  are  not
	      present).	 The default is the umask of the current process.  The
	      value is given in octal.

       case=lower / case=asis
	      Convert all files names to lower case, or leave them.  (Default:
	      case=lower.)

       conv=binary / conv=text / conv=auto
	      For  conv=text,  delete some random CRs (in particular, all fol-
	      lowed by NL) when reading a file.	 For conv=auto, choose more or
	      less   at	  random   between  conv=binary	 and  conv=text.   For
	      conv=binary, just read what is in the file. This is the default.

       nocheck
	      Do not abort mounting when certain consistency checks fail.


Mount options for iso9660
       ISO  9660 is a standard describing a filesystem structure to be used on
       CD-ROMs. (This filesystem type is also seen on some DVDs. See also  the
       udf filesystem.)

       Normal  iso9660	filenames  appear  in  a  8.3  format  (i.e., DOS-like
       restrictions on filename length), and in addition all characters are in
       upper  case.   Also  there  is no field for file ownership, protection,
       number of links, provision for block/character devices, etc.

       Rock Ridge is an extension to iso9660 that provides all of  these  unix
       like features.  Basically there are extensions to each directory record
       that supply all of the additional information, and when Rock  Ridge  is
       in  use,	 the  filesystem  is indistinguishable from a normal UNIX file
       system (except that it is read-only, of course).

       norock Disable the use of Rock Ridge extensions, even if available. Cf.
	      map.

       nojoliet
	      Disable  the  use of Microsoft Joliet extensions, even if avail-
	      able. Cf. map.

       check=r[elaxed] / check=s[trict]
	      With check=relaxed, a filename is first converted to lower  case
	      before  doing  the  lookup.   This  is  probably only meaningful
	      together with norock and map=normal.  (Default: check=strict.)

       uid=value and gid=value
	      Give all files in the file system the indicated  user  or	 group
	      id,  possibly overriding the information found in the Rock Ridge
	      extensions.  (Default: uid=0,gid=0.)

       map=n[ormal] / map=o[ff] / map=a[corn]
	      For non-Rock Ridge volumes, normal name translation  maps	 upper
	      to  lower case ASCII, drops a trailing `;1', and converts `;' to
	      `.'.  With map=off no name  translation  is  done.  See  norock.
	      (Default:	 map=normal.)	map=acorn  is like map=normal but also
	      apply Acorn extensions if present.

       mode=value
	      For non-Rock Ridge volumes, give all files the  indicated	 mode.
	      (Default:	 read  permission  for everybody.)  Since Linux 2.1.37
	      one no longer needs to specify the mode in  decimal.  (Octal  is
	      indicated by a leading 0.)

       unhide Also  show  hidden and associated files.	(If the ordinary files
	      and the associated or hidden files have the same filenames, this
	      may make the ordinary files inaccessible.)

       block=[512|1024|2048]
	      Set   the	  block	  size	to  the	 indicated  value.   (Default:
	      block=1024.)

       conv=a[uto] / conv=b[inary] / conv=m[text] / conv=t[ext]
	      (Default: conv=binary.)  Since Linux 1.3.54 this option  has  no
	      effect  anymore.	 (And non-binary settings used to be very dan-
	      gerous, possibly leading to silent data corruption.)

       cruft  If the high byte of the file length contains other garbage,  set
	      this  mount  option  to  ignore  the high order bits of the file
	      length.  This implies that a file cannot be larger than 16MB.

       session=x
	      Select number of session on multisession CD. (Since 2.3.4.)

       sbsector=xxx
	      Session begins from sector xxx. (Since 2.3.4.)

       The following options are the same as for vfat and specifying them only
       makes  sense  when  using discs encoded using Microsoft's Joliet exten-
       sions.

       iocharset=value
	      Character set to use for converting 16 bit Unicode characters on
	      CD to 8 bit characters. The default is iso8859-1.

       utf8   Convert 16 bit Unicode characters on CD to UTF-8.


Mount options for jfs
       iocharset=name
	      Character	 set to use for converting from Unicode to ASCII.  The
	      default is to do no conversion.	Use  iocharset=utf8  for  UTF8
	      translations.   This  requires  CONFIG_NLS_UTF8 to be set in the
	      kernel .config file.

       resize=value
	      Resize the volume to value blocks. JFS only supports  growing  a
	      volume,  not  shrinking  it.  This option is only valid during a
	      remount, when the volume is mounted read-write. The resize  key-
	      word  with no value will grow the volume to the full size of the
	      partition.

       nointegrity
	      Do not write to the journal.  The primary use of this option  is
	      to  allow	 for  higher  performance when restoring a volume from
	      backup media. The integrity of the volume is not	guaranteed  if
	      the system abnormally abends.

       integrity
	      Default.	 Commit	 metadata  changes  to	the journal.  Use this
	      option to remount a volume where the nointegrity option was pre-
	      viously specified in order to restore normal behavior.

       errors=continue / errors=remount-ro / errors=panic
	      Define  the  behaviour  when  an	error is encountered.  (Either
	      ignore errors and just mark the file system erroneous  and  con-
	      tinue,  or  remount the file system read-only, or panic and halt
	      the system.)

       noquota / quota / usrquota / grpquota
	      These options are accepted but ignored.


Mount options for minix
       None.


Mount options for msdos
       See mount options for fat.  If the msdos file system detects an	incon-
       sistency,  it  reports an error and sets the file system read-only. The
       file system can be made writeable again by remounting it.


Mount options for ncpfs
       Just like nfs, the ncpfs implementation expects a  binary  argument  (a
       struct  ncp_mount_data) to the mount system call. This argument is con-
       structed by ncpmount(8) and the current version of  mount  (2.12)  does
       not know anything about ncpfs.


Mount options for nfs and nfs4
       See  the options section of the nfs(5) man page (nfs-utils package must
       be installed).

       The nfs and nfs4 implementation expects a  binary  argument  (a	struct
       nfs_mount_data)	to the mount system call. This argument is constructed
       by mount.nfs(8) and the current version of mount (2.13) does  not  know
       anything about nfs and nfs4.


Mount options for ntfs
       iocharset=name
	      Character	 set  to  use when returning file names.  Unlike VFAT,
	      NTFS suppresses names  that  contain  unconvertible  characters.
	      Deprecated.

       nls=name
	      New name for the option earlier called iocharset.

       utf8   Use UTF-8 for converting file names.

       uni_xlate=[0|1|2]
	      For  0  (or  `no'	 or  `false'), do not use escape sequences for
	      unknown Unicode characters.  For 1 (or `yes' or  `true')	or  2,
	      use vfat-style 4-byte escape sequences starting with ":". Here 2
	      give a little-endian encoding  and  1  a	byteswapped  bigendian
	      encoding.

       posix=[0|1]
	      If  enabled  (posix=1),  the  file  system distinguishes between
	      upper and lower case. The 8.3 alias names are presented as  hard
	      links instead of being suppressed.

       uid=value, gid=value and umask=value
	      Set  the	file permission on the filesystem.  The umask value is
	      given in octal.  By default, the files are owned by root and not
	      readable by somebody else.


Mount options for proc
       uid=value and gid=value
	      These options are recognized, but have no effect as far as I can
	      see.


Mount options for ramfs
       Ramfs is a memory based filesystem. Mount it and you have  it.  Unmount
       it  and it is gone. Present since Linux 2.3.99pre4.  There are no mount
       options.


Mount options for reiserfs
       Reiserfs is a journaling filesystem.  The reiserfs  mount  options  are
       more fully described at http://www.namesys.com/mount-options.html.

       conv   Instructs	 version  3.6 reiserfs software to mount a version 3.5
	      file system, using the 3.6 format	 for  newly  created  objects.
	      This  file system will no longer be compatible with reiserfs 3.5
	      tools.

       hash=rupasov / hash=tea / hash=r5 / hash=detect
	      Choose which hash function  reiserfs  will  use  to  find	 files
	      within directories.

	      rupasov
		     A hash invented by Yury Yu. Rupasov.  It is fast and pre-
		     serves locality,  mapping	lexicographically  close  file
		     names  to	close  hash values.  This option should not be
		     used, as it causes a high probability of hash collisions.

	      tea    A	  Davis-Meyer	 function    implemented   by	Jeremy
		     Fitzhardinge.  It uses hash permuting bits in  the	 name.
		     It	 gets  high randomness and, therefore, low probability
		     of hash collisions at some CPU cost.  This may be used if
		     EHASHCOLLISION errors are experienced with the r5 hash.

	      r5     A	modified  version  of  the rupasov hash. It is used by
		     default and is the best choice unless the file system has
		     huge directories and unusual file-name patterns.

	      detect Instructs	mount  to detect which hash function is in use
		     by examining the file system being mounted,  and to write
		     this  information	into  the reiserfs superblock. This is
		     only useful on the first mount of an old format file sys-
		     tem.

       hashed_relocation
	      Tunes the block allocator. This may provide performance improve-
	      ments in some situations.

       no_unhashed_relocation
	      Tunes the block allocator. This may provide performance improve-
	      ments in some situations.

       noborder
	      Disable  the  border  allocator  algorithm  invented by Yury Yu.
	      Rupasov.	This may provide performance improvements in some sit-
	      uations.

       nolog  Disable	journalling.  This  will  provide  slight  performance
	      improvements in some situations at the cost of losing reiserfs's
	      fast  recovery  from  crashes.  Even with this option turned on,
	      reiserfs still performs all  journalling	operations,  save  for
	      actual  writes  into  its	 journalling  area.  Implementation of
	      nolog is a work in progress.

       notail By  default,  reiserfs  stores  small  files  and	 `file	tails'
	      directly	into  its  tree.  This confuses some utilities such as
	      LILO(8).	This option is used to disable packing of  files  into
	      the tree.

       replayonly
	      Replay  the  transactions	 which	are in the journal, but do not
	      actually mount the file system. Mainly used by reiserfsck.

       resize=number
	      A remount option which permits online expansion of reiserfs par-
	      titions.	 Instructs reiserfs to assume that the device has num-
	      ber blocks.  This option is designed for use with devices	 which
	      are  under  logical volume management (LVM).  There is a special
	      resizer	 utility    which     can     be     obtained	  from
	      ftp://ftp.namesys.com/pub/reiserfsprogs.

       user_xattr
	      Enable Extended User Attributes. See the attr(5) manual page.

       acl    Enable POSIX Access Control Lists. See the acl(5) manual page.


Mount options for romfs
       None.


Mount options for smbfs
       Just  like  nfs,	 the smbfs implementation expects a binary argument (a
       struct smb_mount_data) to the mount system call. This argument is  con-
       structed	 by  smbmount(8)  and the current version of mount (2.12) does
       not know anything about smbfs.


Mount options for sysv
       None.


Mount options for tmpfs
       The following parameters accept a suffix k, m  or  g  for  Ki,  Mi,  Gi
       (binary kilo, mega and giga) and can be changed on remount.

       size=nbytes
	      Override	default	 maximum  size of the filesystem.  The size is
	      given in bytes, and rounded down to entire pages.	  The  default
	      is half of the memory.

       nr_blocks=
	      Set number of blocks.

       nr_inodes=
	      Set number of inodes.

       mode=  Set initial permissions of the root directory.


Mount options for udf
       udf  is	the  "Universal Disk Format" filesystem defined by the Optical
       Storage Technology Association, and is often  used  for	DVD-ROM.   See
       also iso9660.

       gid=   Set the default group.

       umask= Set the default umask.  The value is given in octal.

       uid=   Set the default user.

       unhide Show otherwise hidden files.

       undelete
	      Show deleted files in lists.

       nostrict
	      Unset strict conformance.

       iocharset
	      Set the NLS character set.

       bs=    Set the block size. (May not work unless 2048.)

       novrs  Skip volume sequence recognition.

       session=
	      Set the CDROM session counting from 0. Default: last session.

       anchor=
	      Override standard anchor location. Default: 256.

       volume=
	      Override the VolumeDesc location. (unused)

       partition=
	      Override the PartitionDesc location. (unused)

       lastblock=
	      Set the last block of the filesystem.

       fileset=
	      Override the fileset block location. (unused)

       rootdir=
	      Override the root directory location. (unused)


Mount options for ufs
       ufstype=value
	      UFS is a file system widely used in different operating systems.
	      The problem are differences among implementations.  Features  of
	      some  implementations are undocumented, so its hard to recognize
	      the type of ufs automatically.  That's why the user must specify
	      the type of ufs by mount option.	Possible values are:

	      old    Old  format  of  ufs,  this  is  the  default, read only.
		     (Don't forget to give the -r option.)

	      44bsd  For   filesystems	 created   by	a   BSD-like	system
		     (NetBSD,FreeBSD,OpenBSD).

	      sun    For filesystems created by SunOS or Solaris on Sparc.

	      sunx86 For filesystems created by Solaris on x86.

	      hp     For filesystems created by HP-UX, read-only.

	      nextstep
		     For  filesystems  created	by  NeXTStep (on NeXT station)
		     (currently read only).

	      nextstep-cd
		     For NextStep CDROMs (block_size == 2048), read-only.

	      openstep
		     For  filesystems  created	by  OpenStep  (currently  read
		     only).   The  same filesystem type is also used by Mac OS
		     X.


       onerror=value
	      Set behaviour on error:

	      panic  If an error is encountered, cause a kernel panic.

	      [lock|umount|repair]
		     These mount options don't do anything at present; when an
		     error is encountered only a console message is printed.


Mount options for umsdos
       See mount options for msdos.  The dotsOK option is explicitly killed by
       umsdos.


Mount options for vfat
       First of all, the mount options for fat	are  recognized.   The	dotsOK
       option is explicitly killed by vfat.  Furthermore, there are

       uni_xlate
	      Translate	  unhandled  Unicode  characters  to  special  escaped
	      sequences.  This lets you backup and restore filenames that  are
	      created  with any Unicode characters. Without this option, a '?'
	      is used when no translation is possible. The escape character is
	      ':'  because it is otherwise illegal on the vfat filesystem. The
	      escape sequence that gets used, where u is the  unicode  charac-
	      ter, is: ':', (u & 0x3f), ((u>>6) & 0x3f), (u>>12).

       posix  Allow two files with names that only differ in case.

       nonumtail
	      First  try  to make a short name without sequence number, before
	      trying name~num.ext.

       utf8   UTF8 is the filesystem safe 8-bit encoding of  Unicode  that  is
	      used  by	the  console.  It can be be enabled for the filesystem
	      with this option or disabled with utf8=0, utf8=no or utf8=false.
	      If `uni_xlate' gets set, UTF8 gets disabled.

       shortname=[lower|win95|winnt|mixed]

	      Defines  the  behaviour  for  creation  and display of filenames
	      which fit into 8.3 characters. If a long name for a file exists,
	      it will always be preferred display. There are four modes:

	      lower  Force  the short name to lower case upon display; store a
		     long name when the short name is not all upper case.

	      win95  Force the short name to upper case upon display; store  a
		     long name when the short name is not all upper case.

	      winnt  Display  the  shortname as is; store a long name when the
		     short name is not all lower case or all upper case.

	      mixed  Display the short name as is; store a long name when  the
		     short name is not all upper case.

       The default is "lower".


Mount options for usbfs
       devuid=uid and devgid=gid and devmode=mode
	      Set  the	owner  and  group  and mode of the device files in the
	      usbfs file system (default: uid=gid=0, mode=0644). The  mode  is
	      given in octal.

       busuid=uid and busgid=gid and busmode=mode
	      Set  the	owner and group and mode of the bus directories in the
	      usbfs file system (default: uid=gid=0, mode=0555). The  mode  is
	      given in octal.

       listuid=uid and listgid=gid and listmode=mode
	      Set  the	owner and group and mode of the file devices (default:
	      uid=gid=0, mode=0444). The mode is given in octal.


Mount options for xenix
       None.


Mount options for xfs
       allocsize=size
	      Sets the buffered I/O end-of-file preallocation size when	 doing
	      delayed allocation writeout (default size is 64KiB).  Valid val-
	      ues for this option are page size (typically  4KiB)  through  to
	      1GiB, inclusive, in power-of-2 increments.

       attr2 / noattr2
	      The  options  enable/disable  (default  is disabled for backward
	      compatibility on-disk) an "opportunistic" improvement to be made
	      in  the way inline extended attributes are stored on-disk.  When
	      the new form is used for the first time (by setting or  removing
	      extended	attributes)  the  on-disk superblock feature bit field
	      will be updated to reflect this format being in use.

       barrier
	      Enables the use of block layer write barriers  for  writes  into
	      the  journal  and	 unwritten extent conversion.  This allows for
	      drive level write caching to be enabled, for devices  that  sup-
	      port write barriers.

       dmapi  Enable the DMAPI (Data Management API) event callouts.  Use with
	      the mtpt option.

       grpid / bsdgroups and nogrpid / sysvgroups
	      These options define what group ID a newly  created  file	 gets.
	      When  grpid  is  set,  it takes the group ID of the directory in
	      which it is created; otherwise (the default) it takes the	 fsgid
	      of  the current process, unless the directory has the setgid bit
	      set, in which case it takes the gid from the  parent  directory,
	      and also gets the setgid bit set if it is a directory itself.

       ihashsize=value
	      Sets  the	 number	 of hash buckets available for hashing the in-
	      memory inodes of the specified mount point.  If a value of  zero
	      is  used,	 the  value  selected by the default algorithm will be
	      displayed in /proc/mounts.

       ikeep / noikeep
	      When inode clusters are emptied of inodes, keep them  around  on
	      the  disk (ikeep) - this is the traditional XFS behaviour and is
	      still the default for now.   Using  the  noikeep	option,	 inode
	      clusters are returned to the free space pool.

       inode64
	      Indicates	 that  XFS is allowed to create inodes at any location
	      in the filesystem, including those which will  result  in	 inode
	      numbers  occupying  more	than 32 bits of significance.  This is
	      provided for backwards compatibility, but	 causes	 problems  for
	      backup applications that cannot handle large inode numbers.

       largeio / nolargeio
	      If  nolargeio  is specified, the optimal I/O reported in st_blk-
	      size by stat(2) will be as  small	 as  possible  to  allow  user
	      applications  to	avoid  inefficient  read/modify/write I/O.  If
	      largeio is specified, a filesystem that has a  swidth  specified
	      will  return  the	 swidth value (in bytes) in st_blksize. If the
	      filesystem does not have a swidth specified but does specify  an
	      allocsize	 then  allocsize  (in bytes) will be returned instead.
	      If neither of these two options are specified,  then  filesystem
	      will behave as if nolargeio was specified.

       logbufs=value
	      Set  the	number	of in-memory log buffers.  Valid numbers range
	      from 2-8 inclusive.  The default value is 8 buffers for filesys-
	      tems with a blocksize of 64KiB, 4 buffers for filesystems with a
	      blocksize of 32KiB, 3 buffers for filesystems with  a  blocksize
	      of 16KiB and 2 buffers for all other configurations.  Increasing
	      the number of buffers may increase performance on some workloads
	      at  the  cost  of the memory used for the additional log buffers
	      and their associated control structures.

       logbsize=value
	      Set the size of each in-memory log buffer.  Size may  be	speci-
	      fied  in	bytes, or in kilobytes with a "k" suffix.  Valid sizes
	      for version 1 and version 2  logs	 are  16384  (16k)  and	 32768
	      (32k).  Valid sizes for version 2 logs also include 65536 (64k),
	      131072 (128k) and 262144 (256k).	The default value for machines
	      with more than 32MiB of memory is 32768, machines with less mem-
	      ory use 16384 by default.

       logdev=device and rtdev=device
	      Use an external log (metadata journal) and/or real-time  device.
	      An  XFS  filesystem has up to three parts: a data section, a log
	      section, and a real-time	section.   The	real-time  section  is
	      optional, and the log section can be separate from the data sec-
	      tion or contained within it.  Refer to xfs(5).

       mtpt=mountpoint
	      Use with the dmapi option. The  value  specified	here  will  be
	      included in the DMAPI mount event, and should be the path of the
	      actual mountpoint that is used.

       noalign
	      Data allocations will not be aligned at stripe unit  boundaries.

       noatime
	      Access timestamps are not updated when a file is read.

       norecovery
	      The filesystem will be mounted without running log recovery.  If
	      the filesystem was not cleanly unmounted, it  is	likely	to  be
	      inconsistent  when  mounted  in  norecovery mode.	 Some files or
	      directories may not be accessible because of this.   Filesystems
	      mounted  norecovery  must be mounted read-only or the mount will
	      fail.

       nouuid Don't check for double mounted file systems using the file  sys-
	      tem uuid.	 This is useful to mount LVM snapshot volumes.

       osyncisosync
	      Make  O_SYNC writes implement true O_SYNC.  WITHOUT this option,
	      Linux XFS behaves as if an osyncisdsync option  is  used,	 which
	      will make writes to files opened with the O_SYNC flag set behave
	      as if the O_DSYNC flag had been used instead.  This  can	result
	      in better performance without compromising data safety.  However
	      if this option is not in effect, timestamp updates  from	O_SYNC
	      writes  can be lost if the system crashes.  If timestamp updates
	      are critical, use the osyncisosync option.

       uquota / usrquota / uqnoenforce / quota
	      User disk quota  accounting  enabled,  and  limits  (optionally)
	      enforced.	 Refer to xfs_quota(8) for further details.

       gquota / grpquota / gqnoenforce
	      Group  disk  quota  accounting  enabled  and limits (optionally)
	      enforced. Refer to xfs_quota(8) for further details.

       pquota / prjquota / pqnoenforce
	      Project disk quota accounting enabled  and  limits  (optionally)
	      enforced. Refer to xfs_quota(8) for further details.

       sunit=value and swidth=value
	      Used to specify the stripe unit and width for a RAID device or a
	      stripe volume.  value must be specified in 512-byte block units.
	      If this option is not specified and the filesystem was made on a
	      stripe volume or the stripe width or unit were specified for the
	      RAID  device  at	mkfs  time,  then  the	mount system call will
	      restore the value from the superblock.  For filesystems that are
	      made  directly  on  RAID	devices,  these options can be used to
	      override the information in the  superblock  if  the  underlying
	      disk  layout changes after the filesystem has been created.  The
	      swidth option is required if the sunit option  has  been	speci-
	      fied, and must be a multiple of the sunit value.

       swalloc
	      Data  allocations	 will be rounded up to stripe width boundaries
	      when the current end of file is being extended and the file size
	      is larger than the stripe width size.


Mount options for xiafs
       None. Although nothing is wrong with xiafs, it is not used much, and is
       not maintained. Probably one shouldn't use  it.	 Since	Linux  version
       2.1.21 xiafs is no longer part of the kernel source.


THE LOOP DEVICE
       One  further possible type is a mount via the loop device. For example,
       the command

	 mount /tmp/fdimage /mnt -t msdos -o loop=/dev/loop3,blocksize=1024

       will set up the loop  device  /dev/loop3	 to  correspond	 to  the  file
       /tmp/fdimage, and then mount this device on /mnt.

       This type of mount knows about four options, namely loop, offset, size-
       limit and encryption, that are really options  to  losetup(8).	(These
       options	can  be	 used  in addition to those specific to the filesystem
       type.)

       If no explicit loop device is mentioned (but just an option  `-o	 loop'
       is  given), then mount will try to find some unused loop device and use
       that.  If you are not so unwise as to make /etc/mtab a symbolic link to
       /proc/mounts  then  any loop device allocated by mount will be freed by
       umount.	You can also free a loop device by hand, using	`losetup  -d',
       see losetup(8).


RETURN CODES
       mount has the following return codes (the bits can be ORed):

       0      success

       1      incorrect invocation or permissions

       2      system error (out of memory, cannot fork, no more loop devices)

       4      internal mount bug

       8      user interrupt

       16     problems writing or locking /etc/mtab

       32     mount failure

       64     some mount succeeded


NOTES
       The syntax of external mount helpers is:

       /sbin/mount.<suffix> spec dir [-sfnv] [-o options]

       where  the  <suffix>  is	 filesystem  type and -sfnvo options have same
       meaning like standard mount options.


FILES
       /etc/fstab	 file system table

       /etc/mtab	 table of mounted file systems

       /etc/mtab~	 lock file

       /etc/mtab.tmp	 temporary file

       /etc/filesystems	 a list of filesystem types to try


SEE ALSO
       mount(2), umount(2), fstab(5), umount(8),  swapon(8),  nfs(5),  xfs(5),
       e2label(8),  xfs_admin(8),  mountd(8),  nfsd(8), mke2fs(8), tune2fs(8),
       losetup(8)

BUGS
       It is possible for a corrupted file system to cause a crash.

       Some Linux file systems don't support -o sync and -o dirsync (the ext2,
       ext3,  fat  and	vfat file systems do support synchronous updates (a la
       BSD) when mounted with the sync option).

       The -o remount may not be able to change mount parameters (all  ext2fs-
       specific	 parameters,  except  sb,  are	changeable with a remount, for
       example, but you can't change gid or umask for the fatfs).

       Mount by label or uuid will work only if your devices  have  the	 names
       listed  in  /proc/partitions.   In  particular, it may well fail if the
       kernel was compiled with devfs but devfs is not mounted.

       It is possible that files /etc/mtab and /proc/mounts don't  match.  The
       first  file is based only on the mount command options, but the content
       of the second file also depends on the kernel and others settings (e.g.
       remote  NFS  server.  In	 particular case the mount command may reports
       unreliable information about a NFS mount	 point	and  the  /proc/mounts
       file usually contains more reliable information.)

       Checking	 files	on NFS filesystem referenced by file descriptors (i.e.
       the fcntl and ioctl families of functions)  may	lead  to  inconsistent
       result  due  to the lack of consistency check in kernel even if noac is
       used.

HISTORY
       A mount command existed in Version 5 AT&T UNIX.

AVAILABILITY
       The mount command is part of the util-linux-ng package and is available
       from ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.




Linux 2.6			  2004-12-16			      MOUNT(8)
MOUNT(2)		   Linux Programmer's Manual		      MOUNT(2)



NAME
       mount - mount file system

SYNOPSIS
       #include <sys/mount.h>

       int mount(const char *source, const char *target,
		 const char *filesystemtype, unsigned long mountflags,
		 const void *data);

DESCRIPTION
       mount()	attaches the file system specified by source (which is often a
       device name, but can also be a directory name or a dummy) to the direc-
       tory specified by target.

       Appropriate privilege (Linux: the CAP_SYS_ADMIN capability) is required
       to mount file systems.

       Since Linux 2.4 a single file system can be visible at  multiple	 mount
       points, and multiple mounts can be stacked on the same mount point.

       Values  for  the	 filesystemtype	 argument  supported by the kernel are
       listed in  /proc/filesystems  (like  "minix",  "ext2",  "ext3",	"jfs",
       "xfs",  "reiserfs",  "msdos",  "proc", "nfs", "iso9660" etc.).  Further
       types may become available when the appropriate modules are loaded.

       The mountflags argument may have the magic number  0xC0ED  (MS_MGC_VAL)
       in  the top 16 bits (this was required in kernel versions prior to 2.4,
       but is no longer required and ignored if specified), and various	 mount
       flags   (as  defined  in	 <linux/fs.h>  for  libc4  and	libc5  and  in
       <sys/mount.h> for glibc2) in the low order 16 bits:

       MS_BIND (Linux 2.4 onwards)
	      Perform a bind mount, making a file or a directory subtree visi-
	      ble  at  another	point  within  a file system.  Bind mounts may
	      cross file system boundaries  and	 span  chroot(2)  jails.   The
	      filesystemtype  and  data arguments are ignored.	Up until Linux
	      2.6.26, mountflags was also ignored (the bind mount has the same
	      mount  options  as  the  underlying  mount  point).  Since Linux
	      2.6.26, the MS_RDONLY flag is honored when making a bind	mount.

       MS_DIRSYNC (since Linux 2.5.19)
	      Make  directory  changes on this file system synchronous.	 (This
	      property can be obtained for individual directories or  subtrees
	      using chattr(1).)

       MS_MANDLOCK
	      Permit  mandatory locking on files in this file system.  (Manda-
	      tory locking must still be  enabled  on  a  per-file  basis,  as
	      described in fcntl(2).)

       MS_MOVE
	      Move  a  subtree.	  source specifies an existing mount point and
	      target specifies the new location.  The move is  atomic:	at  no
	      point is the subtree unmounted.  The filesystemtype, mountflags,
	      and data arguments are ignored.

       MS_NOATIME
	      Do not update access times for (all types of) files on this file
	      system.

       MS_NODEV
	      Do not allow access to devices (special files) on this file sys-
	      tem.

       MS_NODIRATIME
	      Do not update access times for directories on this file  system.
	      This  flag  provides  a  subset of the functionality provided by
	      MS_NOATIME; that is, MS_NOATIME implies MS_NODIRATIME.

       MS_NOEXEC
	      Do not allow programs to be executed from this file system.

       MS_NOSUID
	      Do not honor set-user-ID and set-group-ID	 bits  when  executing
	      programs from this file system.

       MS_RDONLY
	      Mount file system read-only.

       MS_RELATIME (Since Linux 2.6.20)
	      When  a  file  on	 this file system is accessed, only update the
	      file's last access time (atime) if the current value of atime is
	      less  than or equal to the file's last modification time (mtime)
	      or last status change time (ctime).  This option is  useful  for
	      programs,	 such  as  mutt(1),  that need to know when a file has
	      been read since it was last modified.

       MS_REMOUNT
	      Remount an existing mount.  This allows you to change the mount-
	      flags  and  data	of an existing mount without having to unmount
	      and remount the file system.  source and target  should  be  the
	      same  values  specified in the initial mount() call; filesystem-
	      type is ignored.

	      The following mountflags can be changed: MS_RDONLY,  MS_SYNCHRO-
	      NOUS,  MS_MANDLOCK;  before  kernel  2.6.16, the following could
	      also be changed: MS_NOATIME and  MS_NODIRATIME;  and,  addition-
	      ally, before kernel 2.4.10, the following could also be changed:
	      MS_NOSUID, MS_NODEV, MS_NOEXEC.

       MS_SILENT (since Linux 2.6.17)
	      Suppress the display of certain (printk()) warning  messages  in
	      the  kernel log.	This flag supersedes the misnamed and obsolete
	      MS_VERBOSE flag (available since Linux 2.4.12),  which  has  the
	      same meaning.

       MS_SYNCHRONOUS
	      Make  writes  on	this  file  system  synchronous (as though the
	      O_SYNC flag to open(2) was specified for all file opens to  this
	      file system).

       From  Linux  2.4	 onwards, the MS_NODEV, MS_NOEXEC, and MS_NOSUID flags
       are settable on a per-mount-point basis.	 From kernel  2.6.16  onwards,
       MS_NOATIME  and	MS_NODIRATIME  are  also settable on a per-mount-point
       basis.  The MS_RELATIME flag is	also  settable	on  a  per-mount-point
       basis.

       The  data argument is interpreted by the different file systems.	 Typi-
       cally it is a string of comma-separated options understood by this file
       system.	 See  mount(8)	for  details of the options available for each
       filesystem type.

RETURN VALUE
       On success, zero is returned.  On error, -1 is returned, and  errno  is
       set appropriately.

ERRORS
       The  error  values  given below result from filesystem type independent
       errors.	Each filesystem type may have its own special errors  and  its
       own special behavior.  See the kernel source code for details.

       EACCES A	 component of a path was not searchable.  (See also path_reso-
	      lution(7).)  Or, mounting a read-only filesystem	was  attempted
	      without  giving the MS_RDONLY flag.  Or, the block device source
	      is located on a filesystem mounted with the MS_NODEV option.

       EBUSY  source is already mounted.  Or, it  cannot  be  remounted	 read-
	      only,  because  it  still	 holds files open for writing.	Or, it
	      cannot be mounted on target because target is still busy (it  is
	      the  working  directory of some task, the mount point of another
	      device, has open files, etc.).

       EFAULT One of the pointer arguments points  outside  the	 user  address
	      space.

       EINVAL source  had  an  invalid superblock.  Or, a remount (MS_REMOUNT)
	      was attempted, but source was not	 already  mounted  on  target.
	      Or,  a  move (MS_MOVE) was attempted, but source was not a mount
	      point, or was '/'.

       ELOOP  Too many links encountered during pathname  resolution.	Or,  a
	      move was attempted, while target is a descendant of source.

       EMFILE (In case no block device is required:) Table of dummy devices is
	      full.

       ENAMETOOLONG
	      A pathname was longer than MAXPATHLEN.

       ENODEV filesystemtype not configured in the kernel.

       ENOENT A pathname was empty or had a nonexistent component.

       ENOMEM The kernel could not allocate a free page to copy	 filenames  or
	      data into.

       ENOTBLK
	      source is not a block device (and a device was required).

       ENOTDIR
	      target, or a prefix of source, is not a directory.

       ENXIO  The major number of the block device source is out of range.

       EPERM  The caller does not have the required privileges.

CONFORMING TO
       This  function  is  Linux-specific  and	should not be used in programs
       intended to be portable.

NOTES
       The original MS_SYNC flag was renamed MS_SYNCHRONOUS in 1.1.69  when  a
       different MS_SYNC was added to <mman.h>.

       Before  Linux  2.4  an attempt to execute a set-user-ID or set-group-ID
       program on a filesystem mounted with MS_NOSUID would fail  with	EPERM.
       Since Linux 2.4 the set-user-ID and set-group-ID bits are just silently
       ignored in this case.

   Per-process Namespaces
       Starting with kernel 2.4.19, Linux provides  per-process	 mount	names-
       paces.	A  mount  namespace  is the set of file system mounts that are
       visible to a process.  Mount-point namespaces can be (and usually  are)
       shared  between multiple processes, and changes to the namespace (i.e.,
       mounts and unmounts) by one process are visible to all other  processes
       sharing	the  same  namespace.	(The pre-2.4.19 Linux situation can be
       considered as one in which there was a single namespace was  shared  by
       every process on the system.)

       A child process created by fork(2) shares its parent's mount namespace;
       the mount namespace is preserved across an execve(2).

       A process can obtain a private mount namespace if: it was created using
       the  clone()  CLONE_NEWNS flag, in which case its new namespace is ini-
       tialized to be a copy of the  namespace	of  the	 process  that	called
       clone(); or it calls unshare(2) with the CLONE_NEWNS flag, which causes
       the caller's mount namespace to obtain a private copy of the  namespace
       that  it	 was  previously  sharing with other processes, so that future
       mounts and unmounts by the caller  are  invisible  to  other  processes
       (except	child processes that the caller subsequently creates) and vice
       versa.

       The Linux-specific /proc/PID/self file exposes the list of mount points
       in  the	mount  namespace  of  the  process  with the specified ID; see
       proc(5) for details.

SEE ALSO
       umount(2), path_resolution(7), mount(8), umount(8)

COLOPHON
       This page is part of release 3.15 of the Linux  man-pages  project.   A
       description  of	the project, and information about reporting bugs, can
       be found at http://www.kernel.org/doc/man-pages/.



Linux				  2008-11-20			      MOUNT(2)