Changeset View
Changeset View
Standalone View
Standalone View
head/sys/sys/vnode.h
Show First 20 Lines • Show All 142 Lines • ▼ Show 20 Lines | struct vnode { | ||||
struct lock v_lock; /* u (if fs don't have one) */ | struct lock v_lock; /* u (if fs don't have one) */ | ||||
struct mtx v_interlock; /* lock for "i" things */ | struct mtx v_interlock; /* lock for "i" things */ | ||||
struct lock *v_vnlock; /* u pointer to vnode lock */ | struct lock *v_vnlock; /* u pointer to vnode lock */ | ||||
/* | /* | ||||
* The machinery of being a vnode | * The machinery of being a vnode | ||||
*/ | */ | ||||
TAILQ_ENTRY(vnode) v_actfreelist; /* l vnode active/free lists */ | TAILQ_ENTRY(vnode) v_actfreelist; /* l vnode active/free lists */ | ||||
TAILQ_ENTRY(vnode) v_lazylist; /* l vnode lazy list */ | |||||
struct bufobj v_bufobj; /* * Buffer cache object */ | struct bufobj v_bufobj; /* * Buffer cache object */ | ||||
/* | /* | ||||
* Hooks for various subsystems and features. | * Hooks for various subsystems and features. | ||||
*/ | */ | ||||
struct vpollinfo *v_pollinfo; /* i Poll events, p for *v_pi */ | struct vpollinfo *v_pollinfo; /* i Poll events, p for *v_pi */ | ||||
struct label *v_label; /* MAC label for vnode */ | struct label *v_label; /* MAC label for vnode */ | ||||
struct lockf *v_lockf; /* Byte-level advisory lock list */ | struct lockf *v_lockf; /* Byte-level advisory lock list */ | ||||
▲ Show 20 Lines • Show All 96 Lines • ▼ Show 20 Lines | |||||
#define VV_PROCDEP 0x0100 /* vnode is process dependent */ | #define VV_PROCDEP 0x0100 /* vnode is process dependent */ | ||||
#define VV_NOKNOTE 0x0200 /* don't activate knotes on this vnode */ | #define VV_NOKNOTE 0x0200 /* don't activate knotes on this vnode */ | ||||
#define VV_DELETED 0x0400 /* should be removed */ | #define VV_DELETED 0x0400 /* should be removed */ | ||||
#define VV_MD 0x0800 /* vnode backs the md device */ | #define VV_MD 0x0800 /* vnode backs the md device */ | ||||
#define VV_FORCEINSMQ 0x1000 /* force the insmntque to succeed */ | #define VV_FORCEINSMQ 0x1000 /* force the insmntque to succeed */ | ||||
#define VV_READLINK 0x2000 /* fdescfs linux vnode */ | #define VV_READLINK 0x2000 /* fdescfs linux vnode */ | ||||
#define VMP_TMPMNTFREELIST 0x0001 /* Vnode is on mnt's tmp free list */ | #define VMP_TMPMNTFREELIST 0x0001 /* Vnode is on mnt's tmp free list */ | ||||
#define VMP_LAZYLIST 0x0002 /* Vnode is on mnt's lazy list */ | |||||
/* | /* | ||||
* Vnode attributes. A field value of VNOVAL represents a field whose value | * Vnode attributes. A field value of VNOVAL represents a field whose value | ||||
* is unavailable (getattr) or which is not to be changed (setattr). | * is unavailable (getattr) or which is not to be changed (setattr). | ||||
*/ | */ | ||||
struct vattr { | struct vattr { | ||||
enum vtype va_type; /* vnode type (for create) */ | enum vtype va_type; /* vnode type (for create) */ | ||||
u_short va_mode; /* files access mode and type */ | u_short va_mode; /* files access mode and type */ | ||||
▲ Show 20 Lines • Show All 377 Lines • ▼ Show 20 Lines | |||||
int vaccess_acl_nfs4(enum vtype type, uid_t file_uid, gid_t file_gid, | int vaccess_acl_nfs4(enum vtype type, uid_t file_uid, gid_t file_gid, | ||||
struct acl *aclp, accmode_t accmode, struct ucred *cred, | struct acl *aclp, accmode_t accmode, struct ucred *cred, | ||||
int *privused); | int *privused); | ||||
int vaccess_acl_posix1e(enum vtype type, uid_t file_uid, | int vaccess_acl_posix1e(enum vtype type, uid_t file_uid, | ||||
gid_t file_gid, struct acl *acl, accmode_t accmode, | gid_t file_gid, struct acl *acl, accmode_t accmode, | ||||
struct ucred *cred, int *privused); | struct ucred *cred, int *privused); | ||||
void vattr_null(struct vattr *vap); | void vattr_null(struct vattr *vap); | ||||
int vcount(struct vnode *vp); | int vcount(struct vnode *vp); | ||||
void vlazy(struct vnode *); | |||||
void vdrop(struct vnode *); | void vdrop(struct vnode *); | ||||
void vdropl(struct vnode *); | void vdropl(struct vnode *); | ||||
int vflush(struct mount *mp, int rootrefs, int flags, struct thread *td); | int vflush(struct mount *mp, int rootrefs, int flags, struct thread *td); | ||||
int vget(struct vnode *vp, int flags, struct thread *td); | int vget(struct vnode *vp, int flags, struct thread *td); | ||||
enum vgetstate vget_prep(struct vnode *vp); | enum vgetstate vget_prep(struct vnode *vp); | ||||
int vget_finish(struct vnode *vp, int flags, enum vgetstate vs); | int vget_finish(struct vnode *vp, int flags, enum vgetstate vs); | ||||
void vgone(struct vnode *vp); | void vgone(struct vnode *vp); | ||||
void vhold(struct vnode *); | void vhold(struct vnode *); | ||||
▲ Show 20 Lines • Show All 316 Lines • Show Last 20 Lines |