bionic (9) vdrop.9freebsd.gz

Provided by: freebsd-manpages_11.1-3_all bug

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>.