Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
VHOLD(9)		 BSD 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
     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 refer-
     enced, it will be freed.

     The difference between vdrop() and	vdropl() is that vdrop() locks the vn-
     ode interlock and then calls vdropl() while vdropl() expects the inter-
     lock to already be	locked.

SEE ALSO
     vbusy(9), vfree(9)

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

BSD				 April 1, 2007				   BSD

NAME | SYNOPSIS | DESCRIPTION | SEE ALSO | AUTHORS

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=vhold&sektion=9&manpath=FreeBSD+7.4-RELEASE>

home | help