table of contents
VRELE(9) | Kernel Developer's Manual | VRELE(9) |
NAME¶
vput
,
vrele
,
vunref
—
decrement the use count for a vnode
SYNOPSIS¶
#include
<sys/param.h>
#include
<sys/vnode.h>
void
vput
(struct
vnode *vp);
void
vrele
(struct
vnode *vp);
void
vunref
(struct
vnode *vp);
DESCRIPTION¶
Decrement the v_usecount field of a vnode.- vp
- the vnode to decrement
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
vrele(9), 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. Since
the functions might need to call VOPs for the vnode, the
Giant mutex should be conditionally locked
around the call.
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).
SEE ALSO¶
vget(9), vnode(9), vref(9), vrefcnt(9)AUTHORS¶
This manual page was written by Doug Rabson andKonstantin Belousov.
November 20, 2010 | Debian |