tail head cat sleep
QR code linking to this page

manページ  — VOP_INACTIVE

名称

VOP_INACTIVE, VOP_RECLAIM – vnode のためのファイルシステム資源の回収

内容

書式

#include <sys/param.h>
#include <sys/vnode.h>

int
VOP_INACTIVE(struct vnode *vp, struct thread *td);

int
VOP_RECLAIM(struct vnode *vp, struct thread *td);

解説

引数は以下の通りです。
vp
  回収されている vnode。

VOP_INACTIVE() は、カーネルがもはやその vnode を使用しなくなった時に呼び出されます。 これは、参照カウントが 0 になった時、 またはオープンされているファイルがあるファイルシステムが 強制的にアンマウントされた時に起こります。 'オープンされているが削除された' ファイルのための領域を回収するために、 使用可能です。

VOP_RECLAIM() は、異なるファイルシステムのために vnode が再利用される時に呼び出されます。 vnode に関連しているあらゆるファイルシステム固有の資源は、解放されるべきです。

ロック

VOP_INACTIVE では、入る時に vp がロックされます。 VOP_INACTIVE コードは、戻る前に vp をアンロックしなければなりません。

VOP_RECLAIM では、入る時に vp はロックされず、戻り時もロックされないままでいるべきです。

疑似コード

int
vop_inactive(struct vnode *vp, struct thread *td)
{
    if (link count of vp == 0) {
        /*
         * vp のためのファイルシステム内の領域を回収します。
         */
        ...;
    }
    VOP_UNLOCK(vp, 0, td);

return 0; }

int vop_reclaim(struct vnode *vp, struct thread *td) { /* * 名前キャッシュを一掃します。 */ cache_purge(vp);

/* * ファイルシステムに関連したデータを解放します。 */ ...;

return 0; }

関連項目

vnode(9)

作者

このマニュアルページは Doug Rabson が書きました。

VOP_INACTIVE (9) July 24, 1996

tail head cat sleep
QR code linking to this page


このマニュアルページサービスについてのご意見は Ben Bullock にお知らせください。 Privacy policy.