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

  man pages->OpenBSD man pages -> unmount (2)              
Title
Content
Arch
Section
 

MOUNT(2)

Contents


NAME    [Toc]    [Back]

     mount, unmount - mount or dismount a filesystem

SYNOPSIS    [Toc]    [Back]

     #include <sys/param.h>
     #include <sys/mount.h>

     int
     mount(const char *type, const char  *dir,  int  flags,  void
*data);

     int
     unmount(const char *dir, int flags);

DESCRIPTION    [Toc]    [Back]

     The  mount()  function  grafts  a filesystem object onto the
system file tree
     at the point dir.  The argument data describes the  filesystem object to
     be  mounted.   The argument type tells the kernel how to interpret data
     (see type below).  The contents  of  the  filesystem  become
available
     through  the  new  mount point dir.  Any files in dir at the
time of a successful
 mount are swept under the carpet, so to  speak,  and
are unavailable
 until the filesystem is unmounted.

     The following flags may be specified to suppress default semantics which
     affect filesystem access.

     MNT_RDONLY       The filesystem should be treated  as  readonly: even the
                      superuser may not write to it.

     MNT_NOATIME       Do  not update the access time on files in
the filesystem
                      unless the modification  or  status  change
times are also
                      being updated.

     MNT_NOEXEC        Do not allow files to be executed from the
filesystem.

     MNT_NOSUID       Do not honor setuid or setgid bits on files
when executing
 them.

     MNT_NODEV         Do  not  interpret  special  files  on the
filesystem.

     MNT_UNION        Mount in such a way that  the  contents  of
the underlying
                      filesystem are not (totally) obscured (see
                      mount_union(8)).

     MNT_SYNCHRONOUS   All  I/O  to the filesystem should be done
synchronously.

     MNT_ASYNC        All I/O to the filesystem  should  be  done
asynchronously.

     MNT_SOFTDEP       Use  soft  dependencies.   Applies  to FFS
filesystems only
                      (see 'softdep' in mount(8)).

     The flag MNT_UPDATE indicates that the mount command is  being applied to
     an  already mounted filesystem.  This allows the mount flags
to be changed
     without requiring that the filesystem be unmounted  and  remounted.  Some
     filesystems  may not allow all flags to be changed.  For example, most
     filesystems will not allow a change from read-write to readonly.

     The  type  argument defines the type of the filesystem.  The
types of
     filesystems   known   to   the   system   are   defined   in
<sys/mount.h>.  data is a
     pointer to a structure that contains the type specific arguments to
     mount.  The currently supported  types  of  filesystems  and
their type specific
 data are:

     MOUNT_ADOSFS
           struct adosfs_args {
               char         *fspec;     /* blocks special holding
fs to mount */
               struct      export_args export_info;
                                       /* network export information */
               uid_t        uid;         /*  uid that owns adosfs
files */
               gid_t       gid;        /* gid  that  owns  adosfs
files */
               mode_t       mask;       /* mask to be applied for
adosfs perms */
           };

     MOUNT_CD9660
           struct iso_args {
               char        *fspec;     /* block special device to
mount */
               struct      export_args export_info;
                                       /* network export info */
               int flags;              /* mounting flags, see below */
           };
           #define ISOFSMNT_NORRIP   0x00000001 /*  disable  Rock
Ridge Ext.*/
           #define ISOFSMNT_GENS     0x00000002 /* enable generation numbers */
           #define ISOFSMNT_EXTATT   0x00000004 /* enable extended attributes */
           #define ISOFSMNT_NOJOLIET 0x00000008 /* disable Joliet
Ext.*/

     MOUNT_FFS
           struct ufs_args {
                 char      *fspec;             /*  block  special
file to mount */
                 struct    export_args export_info;
                                               /*  network export
information */
           };

     MOUNT_MFS
           struct mfs_args {
                 char      *fspec;             /* name to  export
for statfs */
                 struct    export_args export_info;
                                               /*  if  we can export an MFS */
                 caddr_t     base;                 /*   base   of
filesystem in mem */
                 u_long      size;                 /*   size   of
filesystem */
           };

     MOUNT_MSDOS
           struct msdosfs_args {
                   char    *fspec;    /* blocks  special  holding
fs to mount */
                   struct  export_args export_info;
                                      /*  network export information */
                   uid_t   uid;       /* uid  that  owns  msdosfs
files */
                   gid_t    gid;        /*  gid that owns msdosfs
files */
                   mode_t  mask;      /* mask to be  applied  for
msdosfs perms */
                   int     flags;     /* see below */
           };

           /*
            * Msdosfs mount options:
            */
           #define MSDOSFSMNT_SHORTNAME 1  /* Force old DOS short
names only */
           #define MSDOSFSMNT_LONGNAME  2  /* Force  Win'95  long
names */
           #define  MSDOSFSMNT_NOWIN95    4  /* Completely ignore
Win95 entries */
           #define MSDOSFSMNT_GEMDOSFS  8  /* This is  a  gemdosflavour */

     MOUNT_NFS
           struct nfs_args {
                 int       version;        /* args structure version */
                 struct sockaddr *addr;    /* file server address
*/
                 int        addrlen;         /* length of address
*/
                 int       sotype;         /* Socket type */
                 int       proto;          /* and Protocol */
                 u_char    *fh;            /* File handle  to  be
mounted */
                 int        fhsize;         /* Size, in bytes, of
fh */
                 int       flags;          /* flags */
                 int       wsize;          /* write size in bytes
*/
                 int        rsize;          /* read size in bytes
*/
                 int       readdirsize;     /*  readdir  size  in
bytes */
                 int        timeo;          /* initial timeout in
.1 secs */
                 int       retrans;        /* times to retry send
*/
                 int        maxgrouplist;   /* Max. size of group
list */
                 int       readahead;       /*  #  of  blocks  to
readahead */
                 int       leaseterm;      /* Term (sec) of lease
*/
                 int       deadthresh;     /*  Retrans  threshold
*/
                 char      *hostname;      /* server's name */
                 int        acregmin;      /* Attr cache file recently modified */
                 int       acregmax;       /* ac file not recently modified */
                 int       acdirmin;       /* ac for dir recently
modified */
                 int       acdirmax;     /* ac for  dir  not  recently modified */
           };

     MOUNT_NTFS
           struct ntfs_args {
                   char     *fspec;  /*  block  special device to
mount */
                   struct  export_args export_info;
                                   /* network export  information
*/
                   uid_t   uid;    /* uid that owns ntfs files */
                   gid_t   gid;    /* gid that owns ntfs files */
                   mode_t  mode;   /* mask to be applied for ntfs
perms */
                   u_long  flag;   /* additional flags */
           };

           /*
            * ntfs mount options:
            */
           #define     NTFS_MFLAG_CASEINS      0x00000001
           #define     NTFS_MFLAG_ALLNAMES     0x00000002

     The unmount() function  call  disassociates  the  filesystem
from the specified
 mount point dir.

     The flags argument may specify MNT_FORCE to specify that the
filesystem
     should be forcibly unmounted even if files are still active.
Active special
  devices  continue to work, but any further accesses to
any other active
 files result in errors even if the filesystem is  later
remounted.

RETURN VALUES    [Toc]    [Back]

     mount()  returns  the  value  0 if the mount was successful;
otherwise, -1 is
     returned and the variable errno is set to indicate  the  error.

     unmount() returns the value 0 if the unmount was successful;
otherwise,
     -1 is returned and the variable errno is set to indicate the
error.

ERRORS    [Toc]    [Back]

     mount() will fail when one of the following occurs:

     [EPERM]         The caller is not the superuser.

     [ENAMETOOLONG]   The  path  name exceeded {MNAMELEN} characters.

     [ELOOP]         Too many symbolic links were encountered  in
translating a
                     pathname.

     [ENOENT]        A component of dir does not exist.

     [ENOTDIR]       A component of name is not a directory, or a
path prefix
                     of special is not a directory.

     [EINVAL]        An argument given was invalid.

     [EBUSY]         Another process currently holds a  reference
to dir.

     [EFAULT]         dir  points outside the process's allocated
address space.

     [EOPNOTSUPP]    type is not supported by the kernel.

     The following errors can  occur  for  a  ``ufs''  filesystem
mount:

     [ENODEV]   A component of ufs_args fspec does not exist.

     [ENOTBLK]  fspec is not a block device.

     [ENXIO]     The major device number of fspec is out of range
(this indicates
 no device driver exists for the  associated
hardware).

     [EBUSY]    fspec is already mounted.

     [EMFILE]   No space remains in the mount table.

     [EINVAL]   The super block for the filesystem had a bad magic number, an
                out of range block size, or an  invalid  combination of flags.

     [ENOMEM]    Not  enough  memory  was  available  to read the
cylinder group information
 for the filesystem.

     [EIO]      An I/O error occurred  while  reading  the  super
block or cylinder
 group information.

     [EFAULT]    fspec points outside the process's allocated address space.

     [EROFS]    The filesystem  was  not  unmounted  cleanly  and
MNT_FORCE was not
                specified.

     [EROFS]     An attempt was made to mount a 4.2BSD filesystem
without the
                MNT_RDONLY flag.

     The following errors can occur for an NFS filesystem mount:

     [ETIMEDOUT]  NFS timed out trying to contact the server.

     [EFAULT]     Some  part  of  the  information  described  by
nfs_args points
                  outside  the process's allocated address space.

     The following errors can occur for a mfs filesystem mount:

     [EMFILE]  No space remains in the mount table.

     [EINVAL]  The super block for the filesystem had a bad magic
number or an
               out of range block size.

     [ENOMEM]  Not enough memory was available to read the cylinder group information
 for the filesystem.

     [EIO]     A paging error occurred while  reading  the  super
block or cylinder
 group information.

     [EFAULT]   Name  points  outside the process's allocated address space.

     unmount() may fail with one of the following errors:

     [EPERM]         The caller is not the superuser.

     [ENOTDIR]       A component of the path is not a  directory.

     [EINVAL]        An argument given was invalid.

     [ENAMETOOLONG]    A   component   of   a  pathname  exceeded
{NAME_MAX} characters,
                     or an entire path name  exceeded  {PATH_MAX}
characters.

     [ELOOP]          Too many symbolic links were encountered in
translating
                     the pathname.

     [EINVAL]        The requested directory is not in the  mount
table.

     [EBUSY]          A  process is holding a reference to a file
located on the
                     filesystem.

     [EIO]           An I/O error occurred while  writing  cached
filesystem information.


     [EFAULT]         dir  points outside the process's allocated
address space.

     A ``ufs'' or ``mfs'' mount can also fail if the maximum number of
     filesystems are currently mounted.

SEE ALSO    [Toc]    [Back]

      
      
     statfs(2), mfs(8), mount(8), umount(8)

HISTORY    [Toc]    [Back]

     mount()  and  unmount() function calls appeared in Version 6
AT&T UNIX.

BUGS    [Toc]    [Back]

     Some of the error codes need  translation  to  more  obvious
messages.

OpenBSD      3.6                        December     11,     1993
[ Back ]
 Similar pages
Name OS Title
mount NetBSD mount or dismount a file system
unmount FreeBSD mount or dismount a file system
unmount NetBSD mount or dismount a file system
mount FreeBSD mount or dismount a file system
mount_xfs OpenBSD mount the xfs filesystem
getmountid IRIX get filesystem mount identifier
mntproc IRIX mount the /proc filesystem
mount_cd9660 OpenBSD mount an ISO-9660 filesystem
sgi_eag_mount IRIX mount a filesystem with attributes
nsmount IRIX mount name service filesystem
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service