Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

vfs_mount(9) [freebsd man page]

VFS_MOUNT(9)						   BSD Kernel Developer's Manual					      VFS_MOUNT(9)

NAME
VFS_MOUNT -- mount a file system SYNOPSIS
#include <sys/param.h> #include <sys/mount.h> #include <sys/vnode.h> int VFS_MOUNT(struct mount *mp); DESCRIPTION
The VFS_MOUNT() macro mounts a file system into the system's namespace or updates the attributes of an already mounted file system. The arguments it expects are: mp Structure representing the file system. The VFS_MOUNT() macro is called both to mount new file systems and to change the attributes of an existing file system. If the MNT_UPDATE flag is set in mp->mnt_flag then the file system should update its internal state from the value of mp->mnt_flag. This can be used, for instance, to convert a read-only file system to read-write. It is also used by mountd(8) to update the NFS export information for the file system. If the MNT_UPDATE flag is not specified, then this is a newly mounted file system. The file system code should allocate and initialize any private data needed to represent the file system (it can use the mp->mnt_data field to store this information). SEE ALSO
VFS(9), vnode(9) AUTHORS
This manual page was written by Doug Rabson. BSD
May 23, 2009 BSD

Check Out this Related Man Page

VFS_MOUNT(9)						   BSD Kernel Developer's Manual					      VFS_MOUNT(9)

NAME
vfs_mount -- generic file system mount function SYNOPSIS
#include <sys/param.h> #include <sys/mount.h> int vfs_mount(struct thread *td, const char *fstype, char *fspath, int fsflags, void *fsdata); DESCRIPTION
The vfs_mount() function handles the generic portion of mounting a file system, and calls the file system specific mount function after veri- fying 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 sys- tem's mount(). RETURN VALUES
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. SEE ALSO
mount(2), mount(8) vfs.usermount AUTHORS
This manual page was written by Chad David <davidc@acns.ab.ca>. BSD
November 26, 2004 BSD
Man Page