DOKK / manpages / debian 10 / freebsd-manpages / vholdl.9freebsd.en
VHOLD(9) Kernel Developer's Manual VHOLD(9)

vhold, vdrop, vdroplacquire/release a hold on a vnode

#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);

The () and () 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 () and () 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.

() and vdrop() lock the vnode interlock while vholdl() and vdropl() expect the interlock to already be held.

vnode(9)

This manual page was written by Chad David <davidc@acns.ab.ca>.

April 1, 2007 Debian