NAME
mount, umount - mount or remove file system
SYNOPSIS
mount(special, name, rwflag)
const char *special, *name;
int rwflag;
umount(special)
const char *special;
DESCRIPTION
Mount announces to the system that a removable file system
has been
mounted on the block-structured special file special; from
now on,
references to file name will refer to the root file on the
newly
mounted file system. Special and name are pointers to null-
terminated strings containing the appropriate path
names.
Name must exist already. Name
must be a directory. Its old
contents are inaccessible while the file system is
mounted.
The rwflag argument determines
whether the file system can be
written on; if it is 0 writing is allowed, if non-zero no
writing
is done. Physically write-protected and magnetic tape file
systems
must be mounted read-only or errors will occur when access
times
are updated, whether or not any explicit write is
attempted.
Umount announces to the system
that the special file is no longer
to contain a removable file system. The associated file
reverts to
its ordinary interpretation.
RETURN VALUE
Mount returns 0 if the action occurred, -1 if special is
inaccessible or not an appropriate file, if name does not
exist, if
special is already mounted, if name is in use, or if there
are
already too many file systems mounted.
Umount returns 0 if the action
occurred; -1 if if the special file
is inaccessible or does not have a mounted file system, or
if there
are active files in the mounted file system.
ERRORS
Mount will fail when one of the following occurs:
[ENAMETOOLONG] A component of
either pathname exceeded 255
characters, or the entire length of either path name
exceeded 1023 characters.
[ELOOP] Too many symbolic links
were encountered in
translating either pathname.
[EPERM] The caller is not the super-user.
[ENOENT] A component of name does not exist.
[ENODEV] A component of special does not exist.
[ENOTBLK] Special is not a block device.
[ENXIO] The major device number
of special is out of range
(this indicates no device driver exists for the
associated hardware).
[ENOTDIR] A component of name is
not a directory, or a path
prefix of special is not a directory.
[EINVAL] Either pathname
contains a character with the high-
order bit set.
[EINVAL] The super block for the
file system had a bad magic
number or an out of range block size.
[EBUSY] Another process
currently holds a reference to name,
or special is already mounted.
[EMFILE] No space remains in the mount table.
[ENOMEM] Not enough memory was
available to read the cylinder
group information for the file system.
[EIO] An I/O error occurred
while reading the super block
or cylinder group information.
[EFAULT] Special or name points
outside the process’s
allocated address space.
Umount may fail with one of the following errors:
[ENOTDIR] A component of the path prefix is not a directory.
[EINVAL] The pathname contains a
character with the high-
order bit set.
[ENAMETOOLONG] A component of a
pathname exceeded 255 characters,
or an entire path name exceeded 1023 characters.
[ELOOP] Too many symbolic links
were encountered in
translating the pathname.
[EPERM] The caller is not the super-user.
[ENODEV] Special does not exist.
[ENOTBLK] Special is not a block device.
[ENXIO] The major device number
of special is out of range
(this indicates no device driver exists for the
associated hardware).
[EINVAL] The requested device is not in the mount table.
[EBUSY] A process is holding a
reference to a file located
on the file system.
[EIO] An I/O error occurred
while writing the super block
or other cached file system information.
[EFAULT] Special points outside
the process’s allocated
address space.
SEE ALSO
mount(8), umount(8)
BUGS
Some of the error codes need translation to more obvious
messages.