Changeset View
Changeset View
Standalone View
Standalone View
sys/sys/mount.h
Show All 32 Lines | |||||
*/ | */ | ||||
#ifndef _SYS_MOUNT_H_ | #ifndef _SYS_MOUNT_H_ | ||||
#define _SYS_MOUNT_H_ | #define _SYS_MOUNT_H_ | ||||
#include <sys/ucred.h> | #include <sys/ucred.h> | ||||
#include <sys/queue.h> | #include <sys/queue.h> | ||||
#ifdef _KERNEL | #ifdef _KERNEL | ||||
#include <sys/types.h> | |||||
#include <sys/lock.h> | #include <sys/lock.h> | ||||
#include <sys/lockmgr.h> | #include <sys/lockmgr.h> | ||||
#include <sys/tslog.h> | #include <sys/tslog.h> | ||||
#include <sys/_mutex.h> | #include <sys/_mutex.h> | ||||
#include <sys/_sx.h> | #include <sys/_sx.h> | ||||
#endif | #endif | ||||
/* | /* | ||||
▲ Show 20 Lines • Show All 705 Lines • ▼ Show 20 Lines | |||||
* | * | ||||
* Filesystems with mounters that use nmount(2) do not need to and should not | * Filesystems with mounters that use nmount(2) do not need to and should not | ||||
* implement vfs_cmount. Hopefully a future cleanup can remove vfs_cmount and | * implement vfs_cmount. Hopefully a future cleanup can remove vfs_cmount and | ||||
* mount(2) entirely. | * mount(2) entirely. | ||||
*/ | */ | ||||
typedef int vfs_cmount_t(struct mntarg *ma, void *data, uint64_t flags); | typedef int vfs_cmount_t(struct mntarg *ma, void *data, uint64_t flags); | ||||
typedef int vfs_unmount_t(struct mount *mp, int mntflags); | typedef int vfs_unmount_t(struct mount *mp, int mntflags); | ||||
typedef int vfs_root_t(struct mount *mp, int flags, struct vnode **vpp); | typedef int vfs_root_t(struct mount *mp, int flags, struct vnode **vpp); | ||||
typedef int vfs_quotactl_t(struct mount *mp, int cmds, uid_t uid, void *arg); | typedef int vfs_quotactl_t(struct mount *mp, int cmds, uid_t uid, void *arg, | ||||
bool *mp_busy); | |||||
typedef int vfs_statfs_t(struct mount *mp, struct statfs *sbp); | typedef int vfs_statfs_t(struct mount *mp, struct statfs *sbp); | ||||
typedef int vfs_sync_t(struct mount *mp, int waitfor); | typedef int vfs_sync_t(struct mount *mp, int waitfor); | ||||
typedef int vfs_vget_t(struct mount *mp, ino_t ino, int flags, | typedef int vfs_vget_t(struct mount *mp, ino_t ino, int flags, | ||||
struct vnode **vpp); | struct vnode **vpp); | ||||
typedef int vfs_fhtovp_t(struct mount *mp, struct fid *fhp, | typedef int vfs_fhtovp_t(struct mount *mp, struct fid *fhp, | ||||
int flags, struct vnode **vpp); | int flags, struct vnode **vpp); | ||||
typedef int vfs_checkexp_t(struct mount *mp, struct sockaddr *nam, | typedef int vfs_checkexp_t(struct mount *mp, struct sockaddr *nam, | ||||
uint64_t *extflagsp, struct ucred **credanonp, | uint64_t *extflagsp, struct ucred **credanonp, | ||||
▲ Show 20 Lines • Show All 56 Lines • ▼ Show 20 Lines | #define VFS_ROOT(MP, FLAGS, VPP) ({ \ | ||||
_rc; }) | _rc; }) | ||||
#define VFS_CACHEDROOT(MP, FLAGS, VPP) ({ \ | #define VFS_CACHEDROOT(MP, FLAGS, VPP) ({ \ | ||||
int _rc; \ | int _rc; \ | ||||
\ | \ | ||||
_rc = (*(MP)->mnt_op->vfs_cachedroot)(MP, FLAGS, VPP); \ | _rc = (*(MP)->mnt_op->vfs_cachedroot)(MP, FLAGS, VPP); \ | ||||
_rc; }) | _rc; }) | ||||
#define VFS_QUOTACTL(MP, C, U, A) ({ \ | #define VFS_QUOTACTL(MP, C, U, A, MP_BUSY) ({ \ | ||||
int _rc; \ | int _rc; \ | ||||
\ | \ | ||||
_rc = (*(MP)->mnt_op->vfs_quotactl)(MP, C, U, A); \ | _rc = (*(MP)->mnt_op->vfs_quotactl)(MP, C, U, A, MP_BUSY); \ | ||||
_rc; }) | _rc; }) | ||||
#define VFS_STATFS(MP, SBP) ({ \ | #define VFS_STATFS(MP, SBP) ({ \ | ||||
int _rc; \ | int _rc; \ | ||||
\ | \ | ||||
_rc = __vfs_statfs((MP), (SBP)); \ | _rc = __vfs_statfs((MP), (SBP)); \ | ||||
_rc; }) | _rc; }) | ||||
▲ Show 20 Lines • Show All 317 Lines • Show Last 20 Lines |