 |
Index for Section 2 |
|
 |
Alphabetical listing for M |
|
 |
Bottom of page |
|
mount(2)
NAME
mount, umount - Mounts or unmounts a file system
SYNOPSIS
#include <sys/mount.h>
mount(
int type,
char *mnt-path,
int mnt_flag,
caddr_t data );
umount(
char *mnt-path,
int umnt_flag );
PARAMETERS
type Defines the type of the file system. The types of recognized
file systems are:
MOUNT_UFS
Berkeley's UNIX File System
MOUNT_NFS
Network File System, Version 2 protocol
MOUNT_MFS
Memory File System (RAM disk)
MOUNT_PC
PC File System
MOUNT_S5FS
System V File System
MOUNT_CDFS
Compact Disk File System (see cdfs(4))
MOUNT_DFS
Distributed File System (layered product)
MOUNT_EFS
DCE Episode File System (layered product)
MOUNT_PROCFS
/proc File System (used by debuggers)
MOUNT_MSFS
Advanced File System (AdvFS)
MOUNT_FFM
File on File Mounting File System (used by streams)
MOUNT_FDFS
File Descriptor File System (used by streams)
MOUNT_ADDON
Reserved for third-party file systems
MOUNT_NFS3
Network File System, Version 3 protocol
mnt-path Points to a null-terminated string that contains the appropriate
pathname.
mnt_flag Specifies which semantics should be used when accessing the file
system. Valid flags are:
M_RDONLY The file system should be treated as read only; no
writing is allowed (even by a process with appropriate
privilege). 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.
M_NOEXEC Do not allow files to be executed from the file system.
M_NOSUID Do not honor setuid or setgid bits on files when
executing them.
M_NODEV Do not interpret special files on the file system.
M_SYNCHRONOUS
All I/O to the file system should be done
synchronously.
M_FMOUNT Forcibly mount, even if the file system is unclean.
M_UPDATE The mount command is being applied to an already
mounted file system. This allows the mount flags to be
changed without requiring that the file system be
unmounted and remounted.
M_GRPID All new files and directories will inherit the group ID
of the parent. When this is not specified, SVID III
semantics apply, for example, if the parent directory's
mode bits include the parent's group ID. If IS_GID is
off, then it inherits the processes group ID.
M_NOATIMES
Do not update access time on object for read
operations.
M_SMSYNC2 Enable alternate smoothsync policy, in which dirty data
does not get written to disk until it is dirty and not
modified for the last smoothsync_age period. The
default smoothsync_age period is 30 seconds, and is
configurable via sysconfig(8).
Some file systems may not allow all flags to be changed. For
example, most file systems do not allow a change from read/write
to read only.
data Points to a structure that contains the type-specific parameters
to mount.
umnt_flag Specifies one of the following values:
MNT_FORCE Performs a fast unmount that causes remote file systems
to be unmounted without notifying the server.
DESCRIPTION
Except in the case of file-on-file mounting, the mount() function mounts a
file system on the directory pointed to by the mnt-path parameter.
Following the mount, references to mnt-path refer to the root of the newly
mounted file system.
The mnt-path parameter must point to a directory or file that already
exists.
For file-on-file mounting, the mount() function mounts a file specified by
the data parameter onto another file specified by the mnt-path parameter.
The file specified by the data parameter cannot be a directory file;
otherwise either file may be of any type. The mnt-path cannot already have
a file system or another file mounted on it.
The umount() function unmounts a file system mounted at the directory
pointed to by the mnt-path parameter. The associated directory reverts to
its ordinary interpretation.
Except for file-on-file mounting and Network File System (NFS) file system
mounts, to call either the mount() or umount() function, the calling
process must have superuser privilege.
RESTRICTIONS
The mount function supports mount point argument pathnames of up to
MNAMELEN, which includes the null terminating character. MNAMELEN can be
up to 90 characters long, including the null terminating character.
NOTES
Two mount() functions are supported by Tru64 UNIX: the BSD mount() and the
System V mount(). The default mount() function is the BSD mount()
documented on this reference page. The operating system does not support
the System V lmount function.
For third-party file system support, functionality has been added to query
the mount command by file system name in order to obtain the corresponding
file system type. Once the file system type is obtained, it can then be
used in a standard call to the mount command to mount the file system.
To access this functionality, invoke the mount command with type as -1,
mnt_path as NULL, mnt_flag as 0, and data pointing to the address of a
vfsops_fsname_args structure. This structure is defined in the sys/mount.h
file and contains two fields; the first field is a string representing the
file system name to search for, the second field is a return index. If the
specified file system name is found, the structure's return index field
will be set to the corresponding type.
RETURN VALUES
The mount() function returns 0 (zero) if the file system was successfully
mounted. Otherwise, -1 is returned. The mount can fail if the mnt-path
parameter does not exist or is of the wrong type.
For an Advanced File System (AdvFS), the mount can fail if the domain or
fileset (or both) specified in the data parameter does not exist or is
inaccessible.
For a UNIX File System (UFS), the mount can fail if the special device
specified in the ufs_args structure is inaccessible, is not an appropriate
file, or is already mounted. The same failure can occur for a PROCFS file
system. A mount can also fail if there are already too many file systems
mounted, either systemwide or for a specific file system type.
For the query by name functionality (for third-party file systems), the
mount() function returns 0 (zero) if the file system name was found;
otherwise, -1 is returned.
The umount() function returns 0 (zero) if the file system was successfully
unmounted. Otherwise, -1 is returned. The unmount will fail if there are
active files in the mounted file system, unless the MNT_FORCE flag is set
and the file system supports forcible unmounting.
ERRORS
If the mount() function fails, errno may be set to one of the following
values:
[EPERM] The caller does not have appropriate privilege.
[ENAMETOOLONG]
A component of a pathname exceeded NAME_MAX characters, or an
entire pathname exceeded PATH_MAX characters.
[ELOOP] Too many symbolic links were encountered in translating a
pathname.
[EMFILE] No space remains in the mount table.
[ENODEV] The file system is invalid or not installed.
[ENOENT] A component of the mnt-path parameter does not exist.
[ENOTDIR] A component of the name parameter is not a directory, or a path
prefix of the special parameter is not a directory.
[EINVAL] A pathname contains a character with the high-order bit set, or
the file system name in the query by name functionality is
invalid.
[EBUSY] Another process currently holds a reference to the mnt-path
parameter.
[EDIRTY] The file system is not clean and M_FORCE is not set.
[EFAULT] The mnt-path parameter points outside the process' allocated
address space.
The following errors can occur for a UFS file system mount:
[ENOTBLK] The fspec field 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] The device pointed to by the fspec field is already mounted.
[EINVAL] The superblock for the file system 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 file system.
[EIO] An I/O error occurred while reading the superblock or cylinder
group information.
[EFAULT] The fspec field points outside the process' allocated address
space.
The following errors can occur for an NFS-compatible file system mount:
[ETIMEDOUT]
NFS timed out trying to contact the server.
[EFAULT] Some part of the information described by nfs_args points outside
the process' allocated address space.
The following errors can occur for a PROCFS file system mount:
[EBUSY] The device pointed to by the fspec field is already mounted.
[EMFILE] No space remains in the mount table.
[EFAULT] The fspec field points outside the process's allocated address
space.
[ENFILE] Free vnodes are not available.
[ENOMEM] Memory is insufficient for the /proc directory table.
If the umount() function fails, errno may be set to one of the following
values:
[EPERM] The caller does not have appropriate privilege.
[ENOTDIR] A component of the path is not a directory.
[EINVAL] The pathname contains a character with the high-order bit set.
[ENAMETOOLONG]
A component of a pathname exceeded NAME_MAX characters, or an
entire pathname 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 file
system.
[EIO] An I/O error occurred while writing cached file system
information.
[EFAULT] The mnt-path parameter points outside the process' allocated
address space.
FILES
/usr/include/sys/mount.h
RELATED INFORMATION
Functions: mount(2sv)
Commands: mount(8)
 |
Index for Section 2 |
|
 |
Alphabetical listing for M |
|
 |
Top of page |
|