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 FcDESCRIPTION
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.Fn vfs_mount is called directly by the mount(2) system call.
Its arguments are:
- Fa td
- The thread responsible for this call.
- Fa fstype
- The type of file system being mounted.
- Fa fspath
- The path to the mount point of the file system.
- Fa fsflags
-
Flags controlling the mount.
See
mount(2)
for details.
MNT_EXPORTED , MNT_NOSUID , MNT_UPDATE , MNT_RELOAD MNT_FORCE , MNT_ASYNC , MNT_SYNCHRONOUS , MNT_UNION , MNT_NOATIME MNT_SNAPSHOT , MNT_NOCLUSTERR , MNT_NOCLUSTERW , MNT_IGNORE MNT_UNION , MNT_NOSYMFOLLOW
- 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 .
RETURN VALUES
A 0 value is returned on success.ERRORS
- Bq Er ENAMETOOLONG
- The fs type or the mount point path is too long or any individual path component is too long.
- 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.
- Bq Er EINVAL
- Invalid operation (ex: trying to update a non mount-point).
- Bq Er ENOENT
- The mount point does not exist (from Fn namei ) .
- Bq Er ELOOP
- The mount point is a muddle of links (from Fn namei ) .
- Bq Er EOPNOTSUPP
- The operation is not supported (ex: reloading a r/w file system).
- Bq Er EBUSY
- The mount point is busy or is not really a mount point (on update).
- Bq Er ENOTDIR
- The mount point is not a directory.
- Bq Er ENODEV
- The kernel linker was unable to load the specified Fa fstype or was unable to find the specified Fa fstype module.
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.