.\" .\" Copyright (C) 2001 Chad David . 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(s), this list of conditions and the following disclaimer as .\" the first lines of this file unmodified other than the possible .\" addition of one or more copyright notices. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice(s), this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER(S) ``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 COPYRIGHT HOLDER(S) 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. .\" .\" $FreeBSD: src/share/man/man9/vfs_mount.9,v 1.12.22.2.4.1 2010/12/21 17:09:25 kensmith Exp $ .\" .Dd November 26, 2004 .Dt VFS_MOUNT 9 .Os .Sh NAME .Nm vfs_mount .Nd "generic file system mount function" .Sh SYNOPSIS .In sys/param.h .In sys/mount.h .Ft int .Fo vfs_mount .Fa "struct thread *td" .Fa "const char *fstype" .Fa "char *fspath" .Fa "int fsflags" .Fa "void *fsdata" .Fc .Sh DESCRIPTION The .Fn vfs_mount function handles the generic portion of mounting a file system, and calls the file system specific mount function after verifying its parameters and setting up the structures expected by the underlying mount code. .Pp .Fn vfs_mount is called directly by the .Xr mount 2 system call. .Pp Its arguments are: .Bl -tag -width ".Fa fsflags" .It Fa td The thread responsible for this call. .It Fa fstype The type of file system being mounted. .It Fa fspath The path to the mount point of the file system. .It Fa fsflags Flags controlling the mount. See .Xr mount 2 for details. .Pp .Dv MNT_EXPORTED , MNT_NOSUID , MNT_UPDATE , MNT_RELOAD , .Dv MNT_FORCE , MNT_ASYNC , MNT_SYNCHRONOUS , MNT_UNION , MNT_NOATIME , .Dv MNT_SNAPSHOT , MNT_NOCLUSTERR , MNT_NOCLUSTERW , MNT_IGNORE , .Dv MNT_UNION , MNT_NOSYMFOLLOW .It Fa fsdata File system specific data structure. It is in userspace when passed to .Fn vfs_mount and is left untouched when passed to file system's .Fn mount . .El .Sh RETURN VALUES A 0 value is returned on success. .Sh ERRORS .Bl -tag -width Er .It Bq Er ENAMETOOLONG The fs type or the mount point path is too long or any individual path component is too long. .It Bq Er EPERM Permission denied. There are a number of reason this can occur ranging from the user not having permission to mount a file system to the securelevel being to high to load the .Fa fstype module. .It Bq Er EINVAL Invalid operation (ex: trying to update a non mount-point). .It Bq Er ENOENT The mount point does not exist (from .Fn namei ) . .It Bq Er ELOOP The mount point is a muddle of links (from .Fn namei ) . .It Bq Er EOPNOTSUPP The operation is not supported (ex: reloading a r/w file system). .It Bq Er EBUSY The mount point is busy or is not really a mount point (on update). .It Bq Er ENOTDIR The mount point is not a directory. .It Bq Er ENODEV The kernel linker was unable to load the specified .Fa fstype or was unable to find the specified .Fa fstype module. .El .Pp Other errors can be returned by the file system's .Fn mount and you should check the specific file system for details. Also this call relies on a large number of other kernel services whose errors it returns so this list may not be exhaustive. .Sh SEE ALSO .Xr mount 2 , .Xr mount 8 .Pp .Va vfs.usermount .Sh AUTHORS This manual page was written by .An Chad David Aq davidc@acns.ab.ca .