NAME
unmount - remove a file system
SYNOPSIS
unmount(name, flags)
char *name;
int flags;
DESCRIPTION
Unmount announces to the system that the directory name is
no
longer to refer to the root of a mounted file system. The
directory name reverts to its ordinary interpretation. flags
is a
bit mask; two are currently defined in <sys/mount.h>:
MNT_FORCE and
MNT_NOFORCE.
RETURN VALUE
Unmount returns 0 if the action occurred; -1 if if the
directory is
inaccessible or does not have a mounted file system, or if
there
are active files in the mounted file system.
ERRORS
Unmount may fail with one of the following errors:
[EPERM] The caller is not the super-user.
[EINVAL] Name is not the root of a mounted file system.
[EBUSY] A process is holding a
reference to a file located
on the file system.
[ENOTDIR] A component of the path prefix is not a directory.
[EPERM] The pathname contains a
character with the high-
order bit set.
[ENAMETOOLONG] The pathname was too long.
[ENOENT] name does not exist.
[EACCES] Search permission is
denied for a component of the
path prefix.
[EFAULT] name points outside the
process’s allocated address
space.
[ELOOP] Too many symbolic links
were encountered in
translating the pathname.
[EIO] An I/O error occurred
while reading from or writing
to the file system.
SEE ALSO
mount(2), mount(8), umount(8)
BUGS
The error codes are in a state of disarray; too many errors
appear
to the caller as one value.