Provided by:
freebsd-manpages_7.2-1_all 
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
vdrop(struct vnode *vp);
void
vdropl(struct vnode *vp);
DESCRIPTION
The vhold() function increments 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.
The difference between vdrop() and vdropl() is that vdrop() locks the
vnode interlock and then calls vdropl() while vdropl() expects the
interlock to already be locked.
SEE ALSO
vbusy(9), vfree(9)
AUTHORS
This manual page was written by Chad David 〈davidc@acns.ab.ca〉.