summaryrefslogtreecommitdiff
path: root/static/netbsd/man2/mount.2
diff options
context:
space:
mode:
authorJacob McDonnell <jacob@jacobmcdonnell.com>2026-04-25 19:55:15 -0400
committerJacob McDonnell <jacob@jacobmcdonnell.com>2026-04-25 19:55:15 -0400
commit253e67c8b3a72b3a4757fdbc5845297628db0a4a (patch)
treeadf53b66087aa30dfbf8bf391a1dadb044c3bf4d /static/netbsd/man2/mount.2
parenta9157ce950dfe2fc30795d43b9d79b9d1bffc48b (diff)
docs: Added All NetBSD Manuals
Diffstat (limited to 'static/netbsd/man2/mount.2')
-rw-r--r--static/netbsd/man2/mount.2442
1 files changed, 442 insertions, 0 deletions
diff --git a/static/netbsd/man2/mount.2 b/static/netbsd/man2/mount.2
new file mode 100644
index 00000000..7f30f3e4
--- /dev/null
+++ b/static/netbsd/man2/mount.2
@@ -0,0 +1,442 @@
+.\" $NetBSD: mount.2,v 1.53 2025/03/10 05:18:04 pgoyette Exp $
+.\"
+.\" Copyright (c) 1980, 1989, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)mount.2 8.3 (Berkeley) 5/24/95
+.\"
+.Dd September 2, 2019
+.Dt MOUNT 2
+.Os
+.Sh NAME
+.Nm mount ,
+.Nm unmount
+.Nd mount or dismount a file system
+.Sh LIBRARY
+.Lb libc
+.Sh SYNOPSIS
+.In sys/param.h
+.In sys/mount.h
+.Ft int
+.Fn mount "const char *type" "const char *dir" "int flags" "void *data" "size_t data_len"
+.Ft int
+.Fn unmount "const char *dir" "int flags"
+.Sh DESCRIPTION
+The
+.Fn mount
+function grafts
+a file system object onto the system file tree
+at the point
+.Ar dir .
+The argument
+.Ar data
+describes the file system object to be mounted, and is
+.Ar data_len
+bytes long.
+The argument
+.Ar type
+tells the kernel how to interpret
+.Ar data
+(See
+.Ar type
+below).
+The contents of the file system
+become available through the new mount point
+.Ar dir .
+Any files in
+.Ar dir
+at the time
+of a successful mount are swept under the carpet so to speak, and
+are unavailable until the file system is unmounted.
+.Pp
+The following
+.Ar flags
+may be specified to
+suppress default semantics which affect file system access.
+.Bl -tag -width MNT_SYNCHRONOUS
+.It Dv MNT_RDONLY
+The file system should be treated as read-only;
+even the super-user may not write on it.
+.It Dv MNT_UNION
+Union with underlying file system instead of obscuring it.
+.It Dv MNT_HIDDEN
+Cause the
+.Xr df 1
+program, and perhaps others, to, by default,
+exclude this file system from its output.
+.It Dv MNT_NOEXEC
+Do not allow files to be executed from the file system.
+.It Dv MNT_NOSUID
+Do not honor setuid or setgid bits on files when executing them.
+.It Dv MNT_NODEV
+Do not interpret special files on the file system.
+.It Dv MNT_NOCOREDUMP
+Do not allow programs to dump core files on the file system.
+.It Dv MNT_NOATIME
+Never update access time in the file system.
+.It Dv MNT_RELATIME
+Update access time on write and change.
+This helps programs that verify that the file has been read after written
+to work.
+.It Dv MNT_NODEVMTIME
+Never update modification time of device files.
+.It Dv MNT_SYMPERM
+Recognize the permission of symbolic link when reading or traversing.
+.It Dv MNT_SYNCHRONOUS
+All I/O to the file system should be done synchronously.
+This will slow I/O performance considerably, but
+enhances overall file system reliability.
+.It Dv MNT_ASYNC
+All I/O to the file system should be done asynchronously.
+This vastly improves I/O throughput,
+but at a cost of making the file system likely to be
+completely unrecoverable should the system crash while
+unwritten data is pending in kernel buffers.
+.It Dv MNT_LOG
+Use a file system journal.
+.Dv MNT_LOG
+causes a journal (or log) to be created in the
+file system, creating a record of meta-data writes to be
+performed, allowing the actual writes to be deferred.
+This improves performance in most cases.
+.It MNT_EXTATTR
+Enable extended attributes, if the file system supports them and
+does not enable them by default.
+Currently this is only the case for UFS1.
+.El
+.Pp
+The
+.Dv MNT_UPDATE ,
+.Dv MNT_RELOAD ,
+and
+.Dv MNT_GETARGS
+flags indicate that the mount command is being applied
+to an already mounted file system.
+The
+.Dv MNT_UPDATE
+flag allows the mount flags to be changed without requiring
+that the file system be unmounted and remounted.
+A conversion from read-write to read-only will fail if any files
+are currently open for writing on the file system, unless the
+.Dv MNT_FORCE
+flag is also applied.
+Some file systems may not allow all flags to be changed.
+For example,
+some file systems will not allow a change from read-write to read-only.
+The
+.Dv MNT_RELOAD
+flag causes kernel file system data to be reloaded from
+the file system device.
+It is only permitted on file systems mounted read-only.
+Its purpose is to notify the system that the file system
+data has been modified by some external process.
+The
+.Dv MNT_GETARGS
+flag does not alter any of the mounted file system's properties,
+but returns the file system-specific arguments for the currently mounted
+file system.
+.Pp
+The
+.Fa type
+argument defines the type of the file system.
+The types of file systems known to the system are defined in
+.In sys/mount.h ,
+and those supported by the current running kernel obtained
+using
+.Xr sysctl 8
+to obtain the node
+.\" .Bd -literal -offset indent
+vfs.generic.fstypes.
+.\" XXX from lite-2:
+.\" The types of file systems known to the system can be obtained with
+.\" .Xr sysctl 8
+.\" by using the command:
+.\" .Bd -literal -offset indent
+.\" sysctl vfs
+.\" .Ed
+.\" .Pp
+.Fa data
+is a pointer to a structure that contains the type
+specific arguments to mount.
+Some of the currently supported types of file systems and
+their type specific data are:
+.Pp
+.Dv MOUNT_FFS
+.Bd -literal -offset indent -compact
+struct ufs_args {
+ char *fspec; /* block special file to mount */
+};
+.Ed
+.Pp
+.Dv MOUNT_NFS
+.Bd -literal -offset indent -compact
+struct nfs_args {
+ int version; /* args structure version */
+ struct sockaddr *addr; /* file server address */
+ int addrlen; /* length of address */
+ int sotype; /* Socket type */
+ int proto; /* and Protocol */
+ u_char *fh; /* File handle to be mounted */
+ int fhsize; /* Size, in bytes, of fh */
+ int flags; /* flags */
+ int wsize; /* write size in bytes */
+ int rsize; /* read size in bytes */
+ int readdirsize; /* readdir size in bytes */
+ int timeo; /* initial timeout in .1 secs */
+ int retrans; /* times to retry send */
+ int maxgrouplist; /* Max. size of group list */
+ int readahead; /* # of blocks to readahead */
+ int leaseterm; /* Term (sec) of lease */
+ int deadthresh; /* Retrans threshold */
+ char *hostname; /* server's name */
+};
+.Ed
+.Pp
+.Dv MOUNT_MFS
+.Bd -literal -offset indent -compact
+struct mfs_args {
+ char *fspec; /* name to export for statfs */
+ struct export_args30 pad; /* unused */
+ caddr_t base; /* base of file system in mem */
+ u_long size; /* size of file system */
+};
+.Ed
+.\" XXX from lite-2:
+.\" The format for these argument structures is described in the
+.\" manual page for each file system.
+.\" By convention file system manual pages are named
+.\" by prefixing ``mount_'' to the name of the file system as returned by
+.\" .Xr sysctl 8 .
+.\" Thus the
+.\" .Nm NFS
+.\" file system is described by the
+.\" .Xr mount_nfs 8
+.\" manual page.
+.Pp
+The
+.Fn unmount
+function call disassociates the file system from the specified
+mount point
+.Fa dir .
+.Pp
+The
+.Fa flags
+argument may specify
+.Dv MNT_FORCE
+to specify that the file system should be forcibly unmounted even if files are
+still active.
+Active special devices continue to work,
+but any further accesses to any other active files result in errors
+even if the file system is later remounted.
+.Sh RETURN VALUES
+.Fn mount
+returns the value 0 if the mount was successful,
+the number of bytes written to
+.Ar data
+for
+.Dv MNT_GETARGS ,
+otherwise \-1 is returned and the variable
+.Va errno
+is set to indicate the error.
+.Pp
+.Fn unmount
+returns the value 0 if the unmount succeeded; otherwise \-1 is returned
+and the variable
+.Va errno
+is set to indicate the error.
+.Sh ERRORS
+.Fn mount
+will fail when one of the following occurs:
+.Bl -tag -width Er
+.It Bq Er EBUSY
+Another process currently holds a reference to
+.Fa dir ,
+or for an update from read-write to read-only
+there are files on the file system open for writes.
+.It Bq Er EFAULT
+.Fa dir
+points outside the process's allocated address space.
+.It Bq Er ELOOP
+Too many symbolic links were encountered in translating a pathname.
+.It Bq Er ENAMETOOLONG
+A component of a pathname exceeded
+.Brq Dv NAME_MAX
+characters, or an entire path name exceeded
+.Brq Dv PATH_MAX
+characters.
+.It Bq Er ENOENT
+A component of
+.Fa dir
+does not exist.
+.It Bq Er ENOTDIR
+A component of
+.Ar name
+is not a directory,
+or a path prefix of
+.Ar special
+is not a directory.
+.It Bq Er EPERM
+The caller is not the super-user,
+and ordinary user mounts are not permitted or
+this particular request violates the rules.
+.El
+.Pp
+The following errors can occur for a
+.Em ufs
+file system mount:
+.Bl -tag -width Er
+.It Bq Er EBUSY
+.Ar Fspec
+is already mounted.
+.It Bq Er EFAULT
+.Ar Fspec
+points outside the process's allocated address space.
+.It Bq Er EINVAL
+The super block for the file system had a bad magic
+number or an out of range block size.
+.It Bq Er EIO
+An I/O error occurred while reading the super block or
+cylinder group information.
+.It Bq Er EMFILE
+No space remains in the mount table.
+.It Bq Er ENODEV
+A component of ufs_args
+.Ar fspec
+does not exist.
+.It Bq Er ENOMEM
+Not enough memory was available to read the cylinder
+group information for the file system.
+.It Bq Er ENOTBLK
+.Ar Fspec
+is not a block device.
+.It Bq Er ENXIO
+The major device number of
+.Ar fspec
+is out of range (this indicates no device driver exists
+for the associated hardware).
+.El
+.Pp
+The following errors can occur for a
+.Em nfs
+file system mount:
+.Bl -tag -width Er
+.It Bq Er EFAULT
+Some part of the information described by nfs_args
+points outside the process's allocated address space.
+.It Bq Er ETIMEDOUT
+.Em Nfs
+timed out trying to contact the server.
+.El
+.Pp
+The following errors can occur for a
+.Em mfs
+file system mount:
+.Bl -tag -width Er
+.It Bq Er EFAULT
+.Em Name
+points outside the process's allocated address space.
+.It Bq Er EINVAL
+The super block for the file system had a bad magic
+number or an out of range block size.
+.It Bq Er EIO
+A paging error occurred while reading the super block or
+cylinder group information.
+.It Bq Er EMFILE
+No space remains in the mount table.
+.It Bq Er ENOMEM
+Not enough memory was available to read the cylinder
+group information for the file system.
+.El
+.Pp
+.Fn unmount
+may fail with one of the following errors:
+.Bl -tag -width Er
+.It Bq Er EBUSY
+A process is holding a reference to a file located
+on the file system.
+.It Bq Er EFAULT
+.Fa dir
+points outside the process's allocated address space.
+.It Bq Er EINVAL
+The requested directory is not in the mount table.
+.It Bq Er EIO
+An I/O error occurred while writing cached file system information.
+.It Bq Er ELOOP
+Too many symbolic links were encountered in translating the pathname.
+.It Bq Er ENAMETOOLONG
+A component of a pathname exceeded
+.Brq Dv NAME_MAX
+characters, or an entire path name exceeded
+.Brq Dv PATH_MAX
+characters.
+.It Bq Er ENOTDIR
+A component of the path is not a directory.
+.It Bq Er EPERM
+The caller is not the super-user.
+.El
+.Pp
+A
+.Em ufs
+or
+.Em mfs
+mount can also fail if the maximum number of file systems are currently
+mounted.
+.Sh SEE ALSO
+.Xr df 1 ,
+.Xr getvfsstat 2 ,
+.Xr nfssvc 2 ,
+.Xr getmntinfo 3 ,
+.Xr symlink 7 ,
+.Xr mount 8 ,
+.Xr sysctl 8 ,
+.Xr umount 8
+.Sh HISTORY
+The
+.Fn mount
+and
+.Fn umount
+(now
+.Fn unmount )
+functions appeared in
+.At v1 .
+.Pp
+Prior to
+.Nx 4.0
+the
+.Nm
+call was used to export NFS file systems.
+This is now done through
+.Fn nfssvc .
+.Pp
+The
+.Dv data_len
+argument was added for
+.Nx 5.0 .
+.Sh BUGS
+Some of the error codes need translation to more obvious messages.
+.Pp
+Far more file systems are supported than those those listed.