xref: /original-bsd/lib/libc/sys/mount.2 (revision 7211505a)
Copyright (c) 1980 Regents of the University of California.
All rights reserved. The Berkeley software License Agreement
specifies the terms and conditions for redistribution.

@(#)mount.2 6.3 (Berkeley) 08/26/85

MOUNT 2 ""
C 4
NAME
mount, umount - mount or remove file system
SYNOPSIS
mount(special, name, rwflag)
char *special, *name;
int rwflag;

umount(special) 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:

15 [ENAMETOOLONG] A component of either pathname exceeded 255 characters, or the entire length of either path name exceeded 1023 characters.

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

15 [EPERM] The caller is not the super-user.

15 [ENOENT] A component of name does not exist.

15 [ENODEV] A component of special does not exist.

15 [ENOTBLK] Special is not a block device.

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

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

15 [EINVAL] Either pathname contains a character with the high-order bit set.

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

15 [EBUSY] Another process currently holds a reference to name , or special is already mounted.

15 [EMFILE] No space remains in the mount table.

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

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

15 [EFAULT] Special or name points outside the process's allocated address space.

Umount may fail with one of the following errors:

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

15 [EINVAL] The pathname contains a character with the high-order bit set.

15 [ENAMETOOLONG] A component of a pathname exceeded 255 characters, or an entire path name exceeded 1023 characters.

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

15 [EPERM] The caller is not the super-user.

15 [ENODEV] Special does not exist.

15 [ENOTBLK] Special is not a block device.

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

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

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

15 [EIO] An I/O error occurred while writing the super block or other cached file system information.

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