vput,
vrele,
vunref —
decrement the use count for a vnode
#include
<sys/param.h>
#include
<sys/vnode.h>
void
vput(
struct
vnode *vp);
void
vrele(
struct
vnode *vp);
void
vunref(
struct
vnode *vp);
Decrement the
v_usecount field of a vnode.
- vp
- the vnode to decrement
The
vrele() function takes an unlocked vnode and
returns with the vnode unlocked.
The
vput() function should be given a locked vnode
as argument, the vnode is unlocked after the function returned. The
vput() is operationally equivalent to calling
VOP_UNLOCK(9) followed by
, with less overhead.
The
vunref() function takes a locked vnode as
argument, and returns with the vnode locked.
Any code in the system which signified its use of a vnode by usecount should
call one of the listed function to decrement use counter. If the
v_usecount field of the non-doomed vnode
reaches zero, then it will be inactivated and placed on the free list.
The
vrele() function may lock the vnode. All three
functions may sleep.
The hold count for the vnode is always greater or equal to the usecount.
Non-forced unmount fails when mount point owns a vnode that has non-zero
usecount, see
vflush(9).
vget(9),
vnode(9),
vref(9),
vrefcnt(9)
This manual page was written by
Doug Rabson
and
Konstantin Belousov.