*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->Linux man pages -> mount (2)              



NAME    [Toc]    [Back]

       mount, umount - mount and unmount filesystems.

SYNOPSIS    [Toc]    [Back]

       #include <sys/mount.h>

       int  mount(const  char  *specialfile,  const  char * dir , const char *
       filesystemtype, unsigned long mountflags , const void * data);

       int umount(const char *dir);

DESCRIPTION    [Toc]    [Back]

       mount attaches the filesystem specified by specialfile (which is  often
       a device name) to the directory specified by dir.

       umount  removes	the  attachment of the (topmost) filesystem mounted on

       Only the super-user may mount and unmount filesystems.

       The filesystemtype argument may	take  one  of  the  values  listed  in
       /proc/filesystems   (like  "minix",  "ext2",  "msdos",  "proc",	"nfs",
       "iso9660" etc.).

       The mountflags argument may have the magic number 0xC0ED in the top  16
       bits, 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:

       #define MS_RDONLY	1 /* mount read-only */
       #define MS_NOSUID	2 /* ignore suid and sgid bits */
       #define MS_NODEV 	4 /* no access to device special files */
       #define MS_NOEXEC	8 /* no program execution */
       #define MS_SYNCHRONOUS  16 /* writes are synced at once */
       #define MS_REMOUNT      32 /* alter flags of a mounted fs */
       #define MS_MANDLOCK     64 /* allow mandatory locks */
       #define MS_NOATIME    1024 /* do not update access times */
       #define MS_NODIRATIME 2048 /* do not update dir access times */
       #define MS_BIND	     4096 /* bind subtree elsewhere */

       The data argument is interpreted by the different file systems.

RETURN VALUE    [Toc]    [Back]

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

ERRORS    [Toc]    [Back]

       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.

       EPERM  The user is not the super-user.

       ENODEV Filesystemtype not configured in the kernel.

       ENOTBLK    [Toc]    [Back]
	      Specialfile is not a block device (if a device was required).

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

       EINVAL Specialfile  had	an  invalid  superblock.   Or,	a  remount was
	      attempted, while specialfile was not  already  mounted  on  dir.
	      Or, an umount was attempted, while dir was not a mount point.

       EFAULT One  of  the  pointer  arguments points outside the user address

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

       ENAMETOOLONG    [Toc]    [Back]
	      A pathname was longer than MAXPATHLEN.

       ENOENT A pathname was empty or had a nonexistent component.

       ENOTDIR    [Toc]    [Back]
	      The second argument, or a prefix of the first argument, is not a

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

       ENXIO  The major number of the  block  device  specialfile  is  out  of

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

CONFORMING TO    [Toc]    [Back]

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

HISTORY    [Toc]    [Back]

       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>.

SEE ALSO    [Toc]    [Back]

       mount(8), umount(8)

Linux 1.1.67			  1994-11-28			      MOUNT(2)
[ Back ]
 Similar pages
Name OS Title
mount IRIX mount and unmount filesystems
automount IRIX automatically mount NFS filesystems
mount_union OpenBSD mount union filesystems
mountall IRIX mount multiple filesystems
pfs_umount HP-UX mount and unmount CD-ROM file systems
umount_nfs HP-UX mount and unmount NFS file systems
umount_hfs HP-UX mount and unmount HFS file systems
umount HP-UX mount and unmount file systems
automountd HP-UX autofs mount/unmount daemon
mount Tru64 Mount or unmount a file system
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service