NAME

SYNOPSIS

DESCRIPTION

The 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.
vfs_mount() is called directly by the mount(2) system call.
Its arguments are:
td The thread responsible for this call.
fstype The type of file system being mounted.
fspath The path to the mount point of the file system.
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
fsdata File system specific data structure. It is in userspace when
passed to vfs_mount() and is left untouched when passed to file
system’s mount().

RETURNVALUES

A 0 value is returned on success.

ERRORS

[ENAMETOOLONG] The fs type or the mount point path is too long or any
individual path component is too long.
[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 fstype module.
[EINVAL] Invalid operation (ex: trying to update a non mount-
point).
[ENOENT] The mount point does not exist (from namei()).
[ELOOP] The mount point is a muddle of links (from namei()).
[EOPNOTSUPP] The operation is not supported (ex: reloading a r/w
file system).
[EBUSY] The mount point is busy or is not really a mount point
(on update).
[ENOTDIR] The mount point is not a directory.
[ENODEV] The kernel linker was unable to load the specified
fstype or was unable to find the specified fstype
module.
Other errors can be returned by the file system’s 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.