[[PageNavi(internal24-navi)]]
{{{ comment
h2w-title:dentryの参照要求と参照の終了
}}}
= dentryの参照要求と参照の終了 = #SECTION03520000000000000000
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 [[BR]]2000年12月09日 (土) 23時55分06秒 JST''1
[[PageNavi(internal24-navi)]]