Home Man
Today's Posts

Linux & Unix Commands - Search Man Pages

RedHat 9 (Linux i386) - man page for umount (redhat section 2)

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

       mount, umount - mount and unmount filesystems.

       #include <sys/mount.h>

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

       int umount(const char *target);

       int umount2(const char *target, int flags);

       mount attaches the filesystem specified by source (which is often a device name,  but  can
       also be a directory name or a dummy) to the directory specified by target.

       umount and umount2 remove the attachment of the (topmost) filesystem mounted on target.

       Only  the super-user may mount and unmount filesystems.	Since Linux 2.4 a single filesys-
       tem 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", "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:

	      (Linux 2.4 onwards) Perform a bind mount, making a file or a directory subtree vis-
	      ible  at	another  point	within	a file system.	Bind mounts may cross file system
	      boundaries and span chroot(2) jails.   The  filesystemtype,  mountflags,	and  data
	      arguments are ignored.

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

	      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.

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

	      Do not allow access to devices (special files) on this file system.

	      Do not update access times for directories on this file system.

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

	      Do not honour set-UID and set-GID bits when executing programs from this file  sys-

	      Mount file system read-only.

	      Remount an existing mount.  This is allows you to change the mountflags 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;
	      filesystemtype is ignored.

	      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.

       The data argument is interpreted by the different file systems.	Typically 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.

       Linux 2.1.116 added the umount2() system call, which, like umount(),  unmounts  a  target,
       but allows additional flags controlling the behaviour of the operation:

	      Force unmount even if busy.  (Since 2.1.116. Only for NFS mounts.)

	      Perform  a  lazy	unmount:  make	the mount point unavailable for new accesses, and
	      actually perform the unmount when  the  mount  point  ceases  to	be  busy.  (Since

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

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

       EPERM  The user is not the super-user.

       ENODEV Filesystemtype not configured in the kernel.

	      Source is not a block device (and a device was required).

       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.).  Or, it could not be unmounted because it is busy.

       EINVAL Source had an invalid superblock.  Or, a remount was attempted,  while  source  was
	      not  already  mounted  on target.  Or, a move was attempted, while source was not a
	      mount point, or was '/'.	Or, an umount was attempted, while target was not a mount

	      The second argument, or a prefix of the first argument, is not a directory.

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

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

	      A pathname was longer than MAXPATHLEN.

       ENOENT A pathname was empty or had a nonexistent component.

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

       EACCES A component of a path was not searchable.
	      Or, mounting a read-only filesystem was  attempted  without  giving  the	MS_RDONLY
	      Or,  the	block  device Source is located on a filesystem mounted with the MS_NODEV

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

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

       These functions are Linux-specific and should not be used in programs intended to be  por-

       The  original  umount  function was called as umount(device) and would return ENOTBLK when
       called with something other than a block device.  In Linux 0.98p4 a call  umount(dir)  was
       added,	in   order   to  support  anonymous  devices.	In  Linux  2.3.99-pre7	the  call
       umount(device) was removed, leaving only umount(dir) (since now devices can be mounted  in
       more than one place, so specifying the device does not suffice).

       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-UID  or  set-GID  program	on  a  filesystem
       mounted	with  MS_NOSUID  would	fail with EPERM.  Since Linux 2.4 the set-UID and set-GID
       bits are just silently ignored in this case.

       mount(8), umount(8)

Linux 2.5				    2002-06-11					 MOUNT(2)

All times are GMT -4. The time now is 07:08 AM.

Unix & Linux Forums Content Copyrightę1993-2018. All Rights Reserved.
Show Password