Develop and Download Open Source Software


トップページへ


Linuxカーネルに関する技術情報を集めていくプロジェクトです。現在、Linuxカーネル2.6解読室の第2章までを公開中。




Wikiガイド


dentryの参照要求と参照の終了

dentryを利用する前には必ず、dget関数を呼び出しdentryの参照数を1増やしておかねばならない。dget関数はdentryの参照数を1増やす関数である。

また参照が終わったら、dput関数によってdentryの参照数を1減らさなければならない。このとき参照数が0になった場合、そのdentryの状態により、処理が分かれる。またdputによりこのdentryが解放されてしまう場合は、親ディレクトリのdentryに対するdputも呼び出している。(子ファイルからの参照を一つ減らすため)

      dput(dentry)
            参照数を1減らす
           if (参照数 >= 1) {
                return
           }
           if (既にキャッシュに登録されていない) {
                 dentryのリンクを全て切る。
                 対応するinodeの解放(dentry_iput関数)
                 dentryのメモリ領域解放(d_free関数)
                 親ディレクトリのdentryに対してdput関数を呼びだす。
           } else {
                 dentry_unusedリストに繋ぐ
           }

(NIS)HirokazuTakahashi
2000年12月09日 (土) 23時55分06秒 JST
1


SourceForge.JP is a Japanese version of SourceForge.net. For developments that are not related to Japan, we recommend you to use SourceForge.net.