FreeBSD manual
download PDF document: vhold.9.pdf
VHOLD(9) FreeBSD Kernel Developer's Manual VHOLD(9)
NAME
vhold, vdrop, vdropl - acquire/release a hold on a vnode
SYNOPSIS
#include <sys/param.h>
#include <sys/vnode.h>
void
vhold(struct vnode *vp);
void
vholdl(struct vnode *vp);
void
vdrop(struct vnode *vp);
void
vdropl(struct vnode *vp);
DESCRIPTION
The vhold() and vholdl() functions increment the v_holdcnt of the given
vnode. If the vnode has already been added to the free list and is still
referenced, it will be removed.
The vdrop() and vdropl() functions decrement the v_holdcnt of the vnode.
If the holdcount is less than or equal to zero prior to calling vdrop()
or vdropl(), the system will panic. If the vnode is no longer
referenced, it will be freed.
vhold() and vdrop() lock the vnode interlock while vholdl() and vdropl()
expect the interlock to already be held.
SEE ALSO
vnode(9)
AUTHORS
This manual page was written by Chad David <davidc@acns.ab.ca>.
FreeBSD 14.0-RELEASE-p11 April 1, 2007 FreeBSD 14.0-RELEASE-p11