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