 |
Index for Section 2 |
|
 |
Alphabetical listing for M |
|
 |
Bottom of page |
|
mount(2)
NAME
mount, umount - Mount or unmount a file system
SYNOPSIS
#include <sys/mount.h>
int mount(
int type,
char *mnt-path,
int mnt_flags,
caddr_t data );
int umount(
char *mnt-path,
int umnt_flag );
PARAMETERS
type
Defines the type of the file system. The types of recognized file
systems are:
MOUNT_ADDON
Reserved for third-party file systems. See NOTES for information
about support for third-party file systems.
MOUNT_AUTOFS
For internal use only.
MOUNT_CFS
For internal use only.
MOUNT_CSPEC
For internal use only.
MOUNT_CDFS
Compact Disk File System (see cdfs(4))
MOUNT_DFS
Distributed File System (layered product)
MOUNT_DVDFS
Versatile Disk File System (see dvdfs(4))
MOUNT_EFS
DCE Episode File System (layered product)
MOUNT_FDFS
File Descriptor File System (used by streams)
MOUNT_FFM
File on File Mounting File System (used by streams)
MOUNT_MFS
Memory File System (RAM disk)
MOUNT_MSFS
Advanced File System (AdvFS)
MOUNT_NFS
Network File System, Version 2 protocol
MOUNT_NFS3
Network File System, Version 3 protocol
MOUNT_PC
PC File System
MOUNT_PROCFS
/proc File System (used by debuggers)
MOUNT_S5FS
System V File System
MOUNT_UFS
Berkeley's UNIX File System
mnt-path
Points to a null-terminated string that contains the appropriate
pathname.
mnt_flags
Specifies which semantics should be used when accessing the file
system. One or more of the following flags might be valid, depending on
the file system type and flag combination:
M_ADL
Cause all files in the mounted AdvFS fileset to use atomic-write
data logging. (See the description of the adl argument for the
mount command's -o option in mount(8).)
M_CFSONTOP
For internal use only.
M_DELAYED
For UFS, flush data asynchronously rather than synchronously. For
information about the advantages and risks of using this flag, see
the discussion of the delayed keyword for the mount command's -o
option in mount(8).
M_DIRECTIO
For internal use only.
M_DUAL
Allow an AdvFS fileset to be mounted as a domain volume even though
it has the same AdvFS domain ID as a fileset that is already
mounted.
M_EXPORTED
Allow the file system to be exported for both read and write
access.
M_EXRDONLY
Allow the file system to be exported for read-only access.
M_EXTENDFS
For UFS and AdvFS, extend the size of the file system to use all
the available storage space in a revised partition. The file system
must be already mounted in order to use this option.
M_FAILOVER
For internal use only.
M_FMOUNT
Forcibly mount the file system, even if it is unclean.
M_FSPART
In a cluster, enable cluster partitioning, which restricts use of
the file system to the member that mounts it. This flag cannot be
used on a file system that is already mounted.
This flag is automatically set when mounting a UNIX file system
(UFS) for read-write access and when mounting an in-memory file
system (MFS).
M_GLOBAL_ROOT
For internal use only.
M_GRPID
All new files and directories inherit the group ID of the parent
directory.
When this flag is not specified, the following SVID III semantics
apply:
· If the parent directory's mode bits include the IS_GID, then
the group ID of the new file or directory is the parent
directory's group ID.
· If the parent directory's mode bits do not include IS_GID,
then the group ID of the new file or directory is the process
group ID of the creating process.
M_LOCAL
For internal use only.
M_LOCAL_ROOT
For internal use only.
M_MLSD
Obsolete; not used.
M_MPWANT
For internal use only.
M_NOATIMES
Mark the file access time changes made for reads of regular files
in memory, but do not flush them to disk until other file
modifications occur. This behavior does not comply with industry
standards and is used to reduce disk writes for applications with
no dependencies on file access times.
M_NODEV
Do not allow access from the file system to either block- or
character-special devices.
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_QUOTA
For AdvFS and UFS, enable quotas on the file system.
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_SECURE
Obsolete; not used.
M_SMSYNC2
For AdvFS and UFS, enable an alternate smooth sync policy wherein
dirty UBC pages are flushed to disk after the smoothsync_age
period, but only if they are idle for the smoothsync_age period. By
default, dirty UBC pages are written to disk after the
smoothsync_age period, regardless of whether they are still being
modified.
This policy can be applied only to dirty pages in the file system
cache (UBC); dirty pages mapped into virtual memory are always
flushed to disk after the smoothsync_age period, even if they are
still being modified.
The smoothsync_age system attribute can be configured by means of
the /sbin/sysconfig command. See sys_attrs_vfs(5) and sysconfig(8)
for information about the smoothsync_age attribute and
/sbin/sysconfig command, respectively.
M_SYNCHRONOUS
For AdvFS and UFS, cause all writes to be written to disk as well
as to the buffer cache before the function performing the write
operation returns. By default, write operations to disk are done
asynchronously of write operations to the buffer cache.
M_THROTTLE
For AdvFS and UFS, prevent excessive asynchronous I/O from
overloading the device queue. This flag has no effect if
M_SYNCHRONOUS is applied to the file system.
M_THROTTLED
For internal use only. See M_THROTTLE.
M_UPDATE
The mount operation is being performed on an already mounted file
system. This flag allows mount attributes to be changed without
unmounting and remounting the file system.
The attributes that can be changed for a mounted file system are
restricted by most types of file system software. For example, for
most types of file systems, you cannot change the access mode from
read-write to read-only if the file system is already mounted.
For UFS or AdvFS, M_UPDATE is typically specified without M_RDONLY
to change a file system that had been mounted read-only to read-
write. If M_UPDATE is used in a cluster environment, it is
important to remember that while AdvFS filesets can be mounted
read-write and be accessible to all cluster members, UFS file
systems must be mounted read-only to be available to all cluster
members. For UFS, any attempt to use M_UPDATE on a file system
that is already mounted read-only and accessible to all cluster
members will fail.
data
Points to a structure that contains the type-specific parameters to
mount.
umnt_flag
May be 0 (zero) or the following:
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) mounts, to
call either the mount() or umount() function, the calling process must have
superuser privilege.
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.
Third-party file systems do not have type constants defined in the
<sys/mount.h> file. For these file systems, functionality has been added to
the mount() function to allow an application to query by using the file
system's name string to obtain the corresponding type numeric value. The
type numeric value obtained from the first mount() call can then be used in
a second mount() call to mount the third-party file system.
To use the type query functionality, call mount() 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 must be set to
the file system name string to search for and the second field is a return
index. If the specified name string is found, the function returns the
corresponding type numeric value into the structure's return index field.
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.
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 AdvFS, the mount can fail if the domain or fileset (or both) specified
in the data parameter does not exist or is inaccessible.
For 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 system
wide 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]
The specified mnt-path 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.
[EACCES]
The process is attempting to mount on a multilevel child directory.
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
SEE ALSO
Functions: mount(2sv)
Commands: mount(8)
 |
Index for Section 2 |
|
 |
Alphabetical listing for M |
|
 |
Top of page |
|