Changeset View
Changeset View
Standalone View
Standalone View
sys/kern/vfs_subr.c
Context not available. | |||||
int | int | ||||
vget_finish(struct vnode *vp, int flags, enum vgetstate vs) | vget_finish(struct vnode *vp, int flags, enum vgetstate vs) | ||||
{ | { | ||||
int error, old; | int error; | ||||
if ((flags & LK_INTERLOCK) != 0) | if ((flags & LK_INTERLOCK) != 0) | ||||
ASSERT_VI_LOCKED(vp, __func__); | ASSERT_VI_LOCKED(vp, __func__); | ||||
Context not available. | |||||
vp); | vp); | ||||
return (error); | return (error); | ||||
} | } | ||||
return (vget_finish_ref(vp, vs)); | |||||
} | |||||
int | |||||
vget_finish_ref(struct vnode *vp, enum vgetstate vs) | |||||
{ | |||||
int old; | |||||
VNPASS(vs == VGET_HOLDCNT || vs == VGET_USECOUNT, vp); | |||||
VNPASS(vp->v_holdcnt > 0, vp); | |||||
VNPASS(vs == VGET_HOLDCNT || vp->v_usecount > 0, vp); | |||||
if (vs == VGET_USECOUNT) | if (vs == VGET_USECOUNT) | ||||
return (0); | return (0); | ||||
Context not available. |