VRELE(9) | FreeBSD Kernel Developer's Manual | VRELE(9) |
名称
vput, vrele, vunref — vnode のための使用カウントを減少させる書式
#include < sys/param.h>#include < sys/vnode.h>
void
vput( struct vnode *vp);
void
vrele( struct vnode *vp);
void
vunref( struct vnode *vp);
解説
vnode の v_usecount フィールドを減少させます。- vp
- 減少される vnode。
vrele() 関数は、アンロックされた vnode を取って、アンロックされた vnode の状態で戻ります。
vput() 関数は、引数としてロックされた vnode が与えられるべきであり、関数が返った後に、vnode は、アンロックされます。 vput() は、より少ないオーバヘッドで vrele(9) が、続く VOP_UNLOCK(9) を呼び出すのと操作上同等です。
vunref() 関数は、引数としてロックされた vnode を取り、ロックされた vnode の状態で戻ります。
usecount によって vnode の使用を意味するシステムの任意コードは、使用するカウントを減少させるためにリストされた関数の 1 つを呼び出すべきです。 non-doomed された vnode の v_usecount フィールドが 0 に到達するなら、不活性化されて、フリー (空き) リストに置かれます。関数が、vnode のために VOP を呼び出す必要があるかもしれないので、 Giant ミューテックスは、呼び出しの周りで条件付きロックされるべきです。
vnode のための保持カウントは、常に usecount 以上です。強制的でない unmount は、マウントポイントが、0 でない usecount がある vnode を所有しているとき、失敗します、 vflush(9) を参照してください。
作者
このマニュアルページは、 と によって書かれました。November 20, 2010 | FreeBSD |