Changeset View
Changeset View
Standalone View
Standalone View
sys/sys/vnode.h
Show First 20 Lines • Show All 52 Lines • ▼ Show 20 Lines | |||||
*/ | */ | ||||
/* | /* | ||||
* Vnode types. VNON means no type. | * Vnode types. VNON means no type. | ||||
*/ | */ | ||||
enum vtype { VNON, VREG, VDIR, VBLK, VCHR, VLNK, VSOCK, VFIFO, VBAD, | enum vtype { VNON, VREG, VDIR, VBLK, VCHR, VLNK, VSOCK, VFIFO, VBAD, | ||||
VMARKER }; | VMARKER }; | ||||
enum vgetstate { VGET_HOLDCNT, VGET_USECOUNT }; | enum vgetstate { VGET_NONE, VGET_HOLDCNT, VGET_USECOUNT }; | ||||
/* | /* | ||||
* Each underlying filesystem allocates its own private area and hangs | * Each underlying filesystem allocates its own private area and hangs | ||||
* it from v_data. If non-null, this area is freed in getnewvnode(). | * it from v_data. If non-null, this area is freed in getnewvnode(). | ||||
*/ | */ | ||||
struct namecache; | struct namecache; | ||||
struct vpollinfo { | struct vpollinfo { | ||||
▲ Show 20 Lines • Show All 161 Lines • ▼ Show 20 Lines | |||||
/* | /* | ||||
* Vnode flags. | * Vnode flags. | ||||
* VI flags are protected by interlock and live in v_iflag | * VI flags are protected by interlock and live in v_iflag | ||||
* VV flags are protected by the vnode lock and live in v_vflag | * VV flags are protected by the vnode lock and live in v_vflag | ||||
* | * | ||||
* VIRF_DOOMED is doubly protected by the interlock and vnode lock. Both | * VIRF_DOOMED is doubly protected by the interlock and vnode lock. Both | ||||
* are required for writing but the status may be checked with either. | * are required for writing but the status may be checked with either. | ||||
*/ | */ | ||||
#define VHOLD_NO_SMR (1<<29) /* Disable vhold_smr */ | |||||
#define VIRF_DOOMED 0x0001 /* This vnode is being recycled */ | #define VIRF_DOOMED 0x0001 /* This vnode is being recycled */ | ||||
#define VI_TEXT_REF 0x0001 /* Text ref grabbed use ref */ | #define VI_TEXT_REF 0x0001 /* Text ref grabbed use ref */ | ||||
#define VI_MOUNT 0x0020 /* Mount in progress */ | #define VI_MOUNT 0x0020 /* Mount in progress */ | ||||
#define VI_DOINGINACT 0x0800 /* VOP_INACTIVE is in progress */ | #define VI_DOINGINACT 0x0800 /* VOP_INACTIVE is in progress */ | ||||
#define VI_OWEINACT 0x1000 /* Need to call inactive */ | #define VI_OWEINACT 0x1000 /* Need to call inactive */ | ||||
#define VI_DEFINACT 0x2000 /* deferred inactive */ | #define VI_DEFINACT 0x2000 /* deferred inactive */ | ||||
▲ Show 20 Lines • Show All 405 Lines • ▼ Show 20 Lines | int vaccess_acl_posix1e(enum vtype type, uid_t file_uid, | ||||
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 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_smr(struct vnode *vp); | |||||
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 *); | ||||
void vholdl(struct vnode *); | void vholdl(struct vnode *); | ||||
void vholdnz(struct vnode *); | void vholdnz(struct vnode *); | ||||
bool vhold_smr(struct vnode *); | |||||
void vinactive(struct vnode *vp); | void vinactive(struct vnode *vp); | ||||
int vinvalbuf(struct vnode *vp, int save, int slpflag, int slptimeo); | int vinvalbuf(struct vnode *vp, int save, int slpflag, int slptimeo); | ||||
int vtruncbuf(struct vnode *vp, off_t length, int blksize); | int vtruncbuf(struct vnode *vp, off_t length, int blksize); | ||||
void v_inval_buf_range(struct vnode *vp, daddr_t startlbn, daddr_t endlbn, | void v_inval_buf_range(struct vnode *vp, daddr_t startlbn, daddr_t endlbn, | ||||
int blksize); | int blksize); | ||||
void vunref(struct vnode *); | void vunref(struct vnode *); | ||||
void vn_printf(struct vnode *vp, const char *fmt, ...) __printflike(2,3); | void vn_printf(struct vnode *vp, const char *fmt, ...) __printflike(2,3); | ||||
int vrecycle(struct vnode *vp); | int vrecycle(struct vnode *vp); | ||||
▲ Show 20 Lines • Show All 306 Lines • Show Last 20 Lines |