xref: /freebsd/lib/libsys/mount.2 (revision 8269e7673cf033aba67dab8264fe719920c70f87)
1*8269e767SBrooks Davis.\" Copyright (c) 1980, 1989, 1993
2*8269e767SBrooks Davis.\"	The Regents of the University of California.  All rights reserved.
3*8269e767SBrooks Davis.\"
4*8269e767SBrooks Davis.\" Redistribution and use in source and binary forms, with or without
5*8269e767SBrooks Davis.\" modification, are permitted provided that the following conditions
6*8269e767SBrooks Davis.\" are met:
7*8269e767SBrooks Davis.\" 1. Redistributions of source code must retain the above copyright
8*8269e767SBrooks Davis.\"    notice, this list of conditions and the following disclaimer.
9*8269e767SBrooks Davis.\" 2. Redistributions in binary form must reproduce the above copyright
10*8269e767SBrooks Davis.\"    notice, this list of conditions and the following disclaimer in the
11*8269e767SBrooks Davis.\"    documentation and/or other materials provided with the distribution.
12*8269e767SBrooks Davis.\" 3. Neither the name of the University nor the names of its contributors
13*8269e767SBrooks Davis.\"    may be used to endorse or promote products derived from this software
14*8269e767SBrooks Davis.\"    without specific prior written permission.
15*8269e767SBrooks Davis.\"
16*8269e767SBrooks Davis.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
17*8269e767SBrooks Davis.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18*8269e767SBrooks Davis.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19*8269e767SBrooks Davis.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
20*8269e767SBrooks Davis.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21*8269e767SBrooks Davis.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
22*8269e767SBrooks Davis.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
23*8269e767SBrooks Davis.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
24*8269e767SBrooks Davis.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
25*8269e767SBrooks Davis.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
26*8269e767SBrooks Davis.\" SUCH DAMAGE.
27*8269e767SBrooks Davis.\"
28*8269e767SBrooks Davis.Dd March 30, 2020
29*8269e767SBrooks Davis.Dt MOUNT 2
30*8269e767SBrooks Davis.Os
31*8269e767SBrooks Davis.Sh NAME
32*8269e767SBrooks Davis.Nm mount ,
33*8269e767SBrooks Davis.Nm nmount ,
34*8269e767SBrooks Davis.Nm unmount
35*8269e767SBrooks Davis.Nd mount or dismount a file system
36*8269e767SBrooks Davis.Sh LIBRARY
37*8269e767SBrooks Davis.Lb libc
38*8269e767SBrooks Davis.Sh SYNOPSIS
39*8269e767SBrooks Davis.In sys/param.h
40*8269e767SBrooks Davis.In sys/mount.h
41*8269e767SBrooks Davis.Ft int
42*8269e767SBrooks Davis.Fn mount "const char *type" "const char *dir" "int flags" "void *data"
43*8269e767SBrooks Davis.Ft int
44*8269e767SBrooks Davis.Fn unmount "const char *dir" "int flags"
45*8269e767SBrooks Davis.In sys/uio.h
46*8269e767SBrooks Davis.Ft int
47*8269e767SBrooks Davis.Fn nmount "struct iovec *iov" "u_int niov" "int flags"
48*8269e767SBrooks Davis.Sh DESCRIPTION
49*8269e767SBrooks DavisThe
50*8269e767SBrooks Davis.Fn mount
51*8269e767SBrooks Davissystem call grafts
52*8269e767SBrooks Davisa file system object onto the system file tree
53*8269e767SBrooks Davisat the point
54*8269e767SBrooks Davis.Fa dir .
55*8269e767SBrooks DavisThe argument
56*8269e767SBrooks Davis.Fa data
57*8269e767SBrooks Davisdescribes the file system object to be mounted.
58*8269e767SBrooks DavisThe argument
59*8269e767SBrooks Davis.Fa type
60*8269e767SBrooks Davistells the kernel how to interpret
61*8269e767SBrooks Davis.Fa data
62*8269e767SBrooks Davis(See
63*8269e767SBrooks Davis.Fa type
64*8269e767SBrooks Davisbelow).
65*8269e767SBrooks DavisThe contents of the file system
66*8269e767SBrooks Davisbecome available through the new mount point
67*8269e767SBrooks Davis.Fa dir .
68*8269e767SBrooks DavisAny files in
69*8269e767SBrooks Davis.Fa dir
70*8269e767SBrooks Davisat the time
71*8269e767SBrooks Davisof a successful mount are swept under the carpet so to speak, and
72*8269e767SBrooks Davisare unavailable until the file system is unmounted.
73*8269e767SBrooks Davis.Pp
74*8269e767SBrooks DavisThe
75*8269e767SBrooks Davis.Fn nmount
76*8269e767SBrooks Davissystem call behaves similarly to
77*8269e767SBrooks Davis.Fn mount ,
78*8269e767SBrooks Davisexcept that the mount options (file system type name, device to mount,
79*8269e767SBrooks Davismount-point name, etc.) are passed as an array of name-value pairs
80*8269e767SBrooks Davisin the array
81*8269e767SBrooks Davis.Fa iov ,
82*8269e767SBrooks Daviscontaining
83*8269e767SBrooks Davis.Fa niov
84*8269e767SBrooks Daviselements.
85*8269e767SBrooks DavisThe following options are required by all file systems:
86*8269e767SBrooks Davis.Bl -column fstype -offset indent
87*8269e767SBrooks Davis.It
88*8269e767SBrooks Davis.Li fstype Ta file system type name (e.g., Dq Li procfs )
89*8269e767SBrooks Davis.It
90*8269e767SBrooks Davis.Li fspath Ta mount point pathname (e.g., Dq Li /proc )
91*8269e767SBrooks Davis.El
92*8269e767SBrooks Davis.Pp
93*8269e767SBrooks DavisDepending on the file system type, other options may be
94*8269e767SBrooks Davisrecognized or required;
95*8269e767SBrooks Davisfor example, most disk-based file systems require a
96*8269e767SBrooks Davis.Dq Li from
97*8269e767SBrooks Davisoption containing the pathname of a special device
98*8269e767SBrooks Davisin addition to the options listed above.
99*8269e767SBrooks Davis.Pp
100*8269e767SBrooks DavisBy default only the super-user may call the
101*8269e767SBrooks Davis.Fn mount
102*8269e767SBrooks Davissystem call.
103*8269e767SBrooks DavisThis restriction can be removed by setting the
104*8269e767SBrooks Davis.Va vfs.usermount
105*8269e767SBrooks Davis.Xr sysctl 8
106*8269e767SBrooks Davisvariable
107*8269e767SBrooks Davisto a non-zero value; see the BUGS section for more information.
108*8269e767SBrooks Davis.Pp
109*8269e767SBrooks DavisThe following
110*8269e767SBrooks Davis.Fa flags
111*8269e767SBrooks Davismay be specified to
112*8269e767SBrooks Davissuppress default semantics which affect file system access.
113*8269e767SBrooks Davis.Bl -tag -width MNT_SYNCHRONOUS
114*8269e767SBrooks Davis.It Dv MNT_RDONLY
115*8269e767SBrooks DavisThe file system should be treated as read-only;
116*8269e767SBrooks Daviseven the super-user may not write on it.
117*8269e767SBrooks DavisSpecifying MNT_UPDATE without this option will upgrade
118*8269e767SBrooks Davisa read-only file system to read/write.
119*8269e767SBrooks Davis.It Dv MNT_NOEXEC
120*8269e767SBrooks DavisDo not allow files to be executed from the file system.
121*8269e767SBrooks Davis.It Dv MNT_NOSUID
122*8269e767SBrooks DavisDo not honor setuid or setgid bits on files when executing them.
123*8269e767SBrooks DavisThis flag is set automatically when the caller is not the super-user.
124*8269e767SBrooks Davis.It Dv MNT_NOATIME
125*8269e767SBrooks DavisDisable update of file access times.
126*8269e767SBrooks Davis.It Dv MNT_SNAPSHOT
127*8269e767SBrooks DavisCreate a snapshot of the file system.
128*8269e767SBrooks DavisThis is currently only supported on UFS2 file systems, see
129*8269e767SBrooks Davis.Xr mksnap_ffs 8
130*8269e767SBrooks Davisfor more information.
131*8269e767SBrooks Davis.It Dv MNT_SUIDDIR
132*8269e767SBrooks DavisDirectories with the SUID bit set chown new files to their own owner.
133*8269e767SBrooks DavisThis flag requires the SUIDDIR option to have been compiled into the kernel
134*8269e767SBrooks Davisto have any effect.
135*8269e767SBrooks DavisSee the
136*8269e767SBrooks Davis.Xr mount 8
137*8269e767SBrooks Davisand
138*8269e767SBrooks Davis.Xr chmod 2
139*8269e767SBrooks Davispages for more information.
140*8269e767SBrooks Davis.It Dv MNT_SYNCHRONOUS
141*8269e767SBrooks DavisAll I/O to the file system should be done synchronously.
142*8269e767SBrooks Davis.It Dv MNT_ASYNC
143*8269e767SBrooks DavisAll I/O to the file system should be done asynchronously.
144*8269e767SBrooks Davis.It Dv MNT_FORCE
145*8269e767SBrooks DavisForce a read-write mount even if the file system appears to be unclean.
146*8269e767SBrooks DavisDangerous.
147*8269e767SBrooks DavisTogether with
148*8269e767SBrooks Davis.Dv MNT_UPDATE
149*8269e767SBrooks Davisand
150*8269e767SBrooks Davis.Dv MNT_RDONLY ,
151*8269e767SBrooks Davisspecify that the file system is to be forcibly downgraded to a read-only
152*8269e767SBrooks Davismount even if some files are open for writing.
153*8269e767SBrooks Davis.It Dv MNT_NOCLUSTERR
154*8269e767SBrooks DavisDisable read clustering.
155*8269e767SBrooks Davis.It Dv MNT_NOCLUSTERW
156*8269e767SBrooks DavisDisable write clustering.
157*8269e767SBrooks Davis.It Dv MNT_NOCOVER
158*8269e767SBrooks DavisDo not mount over the root of another mount point.
159*8269e767SBrooks Davis.It Dv MNT_EMPTYDIR
160*8269e767SBrooks DavisRequire an empty directory for the mount point directory.
161*8269e767SBrooks Davis.El
162*8269e767SBrooks Davis.Pp
163*8269e767SBrooks DavisThe flag
164*8269e767SBrooks Davis.Dv MNT_UPDATE
165*8269e767SBrooks Davisindicates that the mount command is being applied
166*8269e767SBrooks Davisto an already mounted file system.
167*8269e767SBrooks DavisThis allows the mount flags to be changed without requiring
168*8269e767SBrooks Davisthat the file system be unmounted and remounted.
169*8269e767SBrooks DavisSome file systems may not allow all flags to be changed.
170*8269e767SBrooks DavisFor example,
171*8269e767SBrooks Davismany file systems will not allow a change from read-write to read-only.
172*8269e767SBrooks Davis.Pp
173*8269e767SBrooks DavisThe flag
174*8269e767SBrooks Davis.Dv MNT_RELOAD
175*8269e767SBrooks Daviscauses the vfs subsystem to update its data structures pertaining to
176*8269e767SBrooks Davisthe specified already mounted file system.
177*8269e767SBrooks Davis.Pp
178*8269e767SBrooks DavisThe
179*8269e767SBrooks Davis.Fa type
180*8269e767SBrooks Davisargument names the file system.
181*8269e767SBrooks DavisThe types of file systems known to the system can be obtained with
182*8269e767SBrooks Davis.Xr lsvfs 1 .
183*8269e767SBrooks Davis.Pp
184*8269e767SBrooks DavisThe
185*8269e767SBrooks Davis.Fa data
186*8269e767SBrooks Davisargument
187*8269e767SBrooks Davisis a pointer to a structure that contains the type
188*8269e767SBrooks Davisspecific arguments to mount.
189*8269e767SBrooks DavisThe format for these argument structures is described in the
190*8269e767SBrooks Davismanual page for each file system.
191*8269e767SBrooks DavisBy convention file system manual pages are named
192*8269e767SBrooks Davisby prefixing ``mount_'' to the name of the file system as returned by
193*8269e767SBrooks Davis.Xr lsvfs 1 .
194*8269e767SBrooks DavisThus the
195*8269e767SBrooks Davis.Tn NFS
196*8269e767SBrooks Davisfile system is described by the
197*8269e767SBrooks Davis.Xr mount_nfs 8
198*8269e767SBrooks Davismanual page.
199*8269e767SBrooks DavisIt should be noted that a manual page for default
200*8269e767SBrooks Davisfile systems, known as UFS and UFS2, does not exist.
201*8269e767SBrooks Davis.Pp
202*8269e767SBrooks DavisThe
203*8269e767SBrooks Davis.Fn unmount
204*8269e767SBrooks Davissystem call disassociates the file system from the specified
205*8269e767SBrooks Davismount point
206*8269e767SBrooks Davis.Fa dir .
207*8269e767SBrooks Davis.Pp
208*8269e767SBrooks DavisThe
209*8269e767SBrooks Davis.Fa flags
210*8269e767SBrooks Davisargument may include
211*8269e767SBrooks Davis.Dv MNT_FORCE
212*8269e767SBrooks Davisto specify that the file system should be forcibly unmounted
213*8269e767SBrooks Daviseven if files are still active.
214*8269e767SBrooks DavisActive special devices continue to work,
215*8269e767SBrooks Davisbut any further accesses to any other active files result in errors
216*8269e767SBrooks Daviseven if the file system is later remounted.
217*8269e767SBrooks Davis.Pp
218*8269e767SBrooks DavisIf the
219*8269e767SBrooks Davis.Dv MNT_BYFSID
220*8269e767SBrooks Davisflag is specified,
221*8269e767SBrooks Davis.Fa dir
222*8269e767SBrooks Davisshould instead be a file system ID encoded as
223*8269e767SBrooks Davis.Dq Li FSID : Ns Ar val0 : Ns Ar val1 ,
224*8269e767SBrooks Daviswhere
225*8269e767SBrooks Davis.Ar val0
226*8269e767SBrooks Davisand
227*8269e767SBrooks Davis.Ar val1
228*8269e767SBrooks Davisare the contents of the
229*8269e767SBrooks Davis.Vt fsid_t
230*8269e767SBrooks Davis.Va val[]
231*8269e767SBrooks Davisarray in decimal.
232*8269e767SBrooks DavisThe file system that has the specified file system ID will be unmounted.
233*8269e767SBrooks Davis.Sh RETURN VALUES
234*8269e767SBrooks Davis.Rv -std
235*8269e767SBrooks Davis.Sh ERRORS
236*8269e767SBrooks DavisThe
237*8269e767SBrooks Davis.Fn mount
238*8269e767SBrooks Davisand
239*8269e767SBrooks Davis.Fn nmount
240*8269e767SBrooks Davissystem calls will fail when one of the following occurs:
241*8269e767SBrooks Davis.Bl -tag -width Er
242*8269e767SBrooks Davis.It Bq Er EPERM
243*8269e767SBrooks DavisThe caller is neither the super-user nor the owner of
244*8269e767SBrooks Davis.Fa dir .
245*8269e767SBrooks Davis.It Bq Er ENAMETOOLONG
246*8269e767SBrooks DavisA component of a pathname exceeded 255 characters,
247*8269e767SBrooks Davisor the entire length of a path name exceeded 1023 characters.
248*8269e767SBrooks Davis.It Bq Er ELOOP
249*8269e767SBrooks DavisToo many symbolic links were encountered in translating a pathname.
250*8269e767SBrooks Davis.It Bq Er ENOENT
251*8269e767SBrooks DavisA component of
252*8269e767SBrooks Davis.Fa dir
253*8269e767SBrooks Davisdoes not exist.
254*8269e767SBrooks Davis.It Bq Er ENOTDIR
255*8269e767SBrooks DavisA component of
256*8269e767SBrooks Davis.Fa name
257*8269e767SBrooks Davisis not a directory,
258*8269e767SBrooks Davisor a path prefix of
259*8269e767SBrooks Davis.Fa special
260*8269e767SBrooks Davisis not a directory.
261*8269e767SBrooks Davis.It Bq Er EBUSY
262*8269e767SBrooks DavisAnother process currently holds a reference to
263*8269e767SBrooks Davis.Fa dir .
264*8269e767SBrooks Davis.It Bq Er EBUSY
265*8269e767SBrooks DavisThe
266*8269e767SBrooks Davis.Dv MNT_NOCOVER
267*8269e767SBrooks Davisoption was given, and the requested mount point
268*8269e767SBrooks Davisis already the root of another mount point.
269*8269e767SBrooks Davis.It Bq Er EFAULT
270*8269e767SBrooks DavisThe
271*8269e767SBrooks Davis.Fa dir
272*8269e767SBrooks Davisargument
273*8269e767SBrooks Davispoints outside the process's allocated address space.
274*8269e767SBrooks Davis.It Bq Er EIO
275*8269e767SBrooks DavisAn I/O error occurred while reading data from
276*8269e767SBrooks Davis.Fa special .
277*8269e767SBrooks Davis.It Bq Er EINTEGRITY
278*8269e767SBrooks DavisThe backing store for
279*8269e767SBrooks Davis.Fa special
280*8269e767SBrooks Davisdetected corrupted data while reading.
281*8269e767SBrooks Davis.El
282*8269e767SBrooks Davis.Pp
283*8269e767SBrooks DavisThe following errors can occur for a
284*8269e767SBrooks Davis.Em ufs
285*8269e767SBrooks Davisfile system mount:
286*8269e767SBrooks Davis.Bl -tag -width Er
287*8269e767SBrooks Davis.It Bq Er ENODEV
288*8269e767SBrooks DavisA component of ufs_args
289*8269e767SBrooks Davis.Fa fspec
290*8269e767SBrooks Davisdoes not exist.
291*8269e767SBrooks Davis.It Bq Er ENOTBLK
292*8269e767SBrooks DavisThe
293*8269e767SBrooks Davis.Fa fspec
294*8269e767SBrooks Davisargument
295*8269e767SBrooks Davisis not a block device.
296*8269e767SBrooks Davis.It Bq Er ENOTEMPTY
297*8269e767SBrooks DavisThe
298*8269e767SBrooks Davis.Dv MNT_EMPTYDIR
299*8269e767SBrooks Davisoption was specified, and the requested mount point
300*8269e767SBrooks Davisis not an empty directory.
301*8269e767SBrooks Davis.It Bq Er ENXIO
302*8269e767SBrooks DavisThe major device number of
303*8269e767SBrooks Davis.Fa fspec
304*8269e767SBrooks Davisis out of range (this indicates no device driver exists
305*8269e767SBrooks Davisfor the associated hardware).
306*8269e767SBrooks Davis.It Bq Er EBUSY
307*8269e767SBrooks Davis.Fa fspec
308*8269e767SBrooks Davisis already mounted.
309*8269e767SBrooks Davis.It Bq Er EMFILE
310*8269e767SBrooks DavisNo space remains in the mount table.
311*8269e767SBrooks Davis.It Bq Er EINVAL
312*8269e767SBrooks DavisThe super block for the file system had a bad magic
313*8269e767SBrooks Davisnumber or an out of range block size.
314*8269e767SBrooks Davis.It Bq Er EINTEGRITY
315*8269e767SBrooks DavisThe super block for the file system had a bad check hash.
316*8269e767SBrooks DavisThe check hash can usually be corrected by running
317*8269e767SBrooks Davis.Xr fsck 8 .
318*8269e767SBrooks Davis.It Bq Er ENOMEM
319*8269e767SBrooks DavisNot enough memory was available to read the cylinder
320*8269e767SBrooks Davisgroup information for the file system.
321*8269e767SBrooks Davis.It Bq Er EIO
322*8269e767SBrooks DavisAn I/O error occurred while reading the super block or
323*8269e767SBrooks Daviscylinder group information.
324*8269e767SBrooks Davis.It Bq Er EFAULT
325*8269e767SBrooks DavisThe
326*8269e767SBrooks Davis.Fa fspec
327*8269e767SBrooks Davisargument
328*8269e767SBrooks Davispoints outside the process's allocated address space.
329*8269e767SBrooks Davis.El
330*8269e767SBrooks Davis.Pp
331*8269e767SBrooks DavisThe following errors can occur for a
332*8269e767SBrooks Davis.Em nfs
333*8269e767SBrooks Davisfile system mount:
334*8269e767SBrooks Davis.Bl -tag -width Er
335*8269e767SBrooks Davis.It Bq Er ETIMEDOUT
336*8269e767SBrooks Davis.Em Nfs
337*8269e767SBrooks Davistimed out trying to contact the server.
338*8269e767SBrooks Davis.It Bq Er EFAULT
339*8269e767SBrooks DavisSome part of the information described by nfs_args
340*8269e767SBrooks Davispoints outside the process's allocated address space.
341*8269e767SBrooks Davis.El
342*8269e767SBrooks Davis.Pp
343*8269e767SBrooks DavisThe
344*8269e767SBrooks Davis.Fn unmount
345*8269e767SBrooks Davissystem call may fail with one of the following errors:
346*8269e767SBrooks Davis.Bl -tag -width Er
347*8269e767SBrooks Davis.It Bq Er EPERM
348*8269e767SBrooks DavisThe caller is neither the super-user nor the user who issued the corresponding
349*8269e767SBrooks Davis.Fn mount
350*8269e767SBrooks Daviscall.
351*8269e767SBrooks Davis.It Bq Er ENAMETOOLONG
352*8269e767SBrooks DavisThe length of the path name exceeded 1023 characters.
353*8269e767SBrooks Davis.It Bq Er EINVAL
354*8269e767SBrooks DavisThe requested directory is not in the mount table.
355*8269e767SBrooks Davis.It Bq Er ENOENT
356*8269e767SBrooks DavisThe file system ID specified using
357*8269e767SBrooks Davis.Dv MNT_BYFSID
358*8269e767SBrooks Daviswas not found in the mount table.
359*8269e767SBrooks Davis.It Bq Er EINVAL
360*8269e767SBrooks DavisThe file system ID specified using
361*8269e767SBrooks Davis.Dv MNT_BYFSID
362*8269e767SBrooks Daviscould not be decoded.
363*8269e767SBrooks Davis.It Bq Er EINVAL
364*8269e767SBrooks DavisThe specified file system is the root file system.
365*8269e767SBrooks Davis.It Bq Er EBUSY
366*8269e767SBrooks DavisA process is holding a reference to a file located
367*8269e767SBrooks Davison the file system.
368*8269e767SBrooks Davis.It Bq Er EIO
369*8269e767SBrooks DavisAn I/O error occurred while writing cached file system information.
370*8269e767SBrooks Davis.It Bq Er EFAULT
371*8269e767SBrooks DavisThe
372*8269e767SBrooks Davis.Fa dir
373*8269e767SBrooks Davisargument
374*8269e767SBrooks Davispoints outside the process's allocated address space.
375*8269e767SBrooks Davis.El
376*8269e767SBrooks Davis.Sh SEE ALSO
377*8269e767SBrooks Davis.Xr lsvfs 1 ,
378*8269e767SBrooks Davis.Xr mksnap_ffs 8 ,
379*8269e767SBrooks Davis.Xr mount 8 ,
380*8269e767SBrooks Davis.Xr umount 8
381*8269e767SBrooks Davis.Sh HISTORY
382*8269e767SBrooks DavisThe
383*8269e767SBrooks Davis.Fn mount
384*8269e767SBrooks Davisand
385*8269e767SBrooks Davis.Fn unmount
386*8269e767SBrooks Davisfunctions appeared in
387*8269e767SBrooks Davis.At v1 .
388*8269e767SBrooks DavisThe
389*8269e767SBrooks Davis.Fn nmount
390*8269e767SBrooks Davissystem call first appeared in
391*8269e767SBrooks Davis.Fx 5.0 .
392*8269e767SBrooks Davis.Sh BUGS
393*8269e767SBrooks DavisSome of the error codes need translation to more obvious messages.
394*8269e767SBrooks Davis.Pp
395*8269e767SBrooks DavisAllowing untrusted users to mount arbitrary media, e.g. by enabling
396*8269e767SBrooks Davis.Va vfs.usermount ,
397*8269e767SBrooks Davisshould not be considered safe.
398*8269e767SBrooks DavisMost file systems in
399*8269e767SBrooks Davis.Fx
400*8269e767SBrooks Daviswere not built to safeguard against malicious devices.
401