mcrash

dentry

書式

usage: dentry [-s] [-p] [address]

説明

dentryはディレクトリエントリのキャッシュです。 オープンしているファイルはすべてdentryが作られます。 同じファイルを複数回オープンした場合でもdentryはひとつだけです (参照数 CNT が増えます)。 またオープンだけでなく "a/b/c/d" というファイルを アクセスした場合には a, b, c, d それぞれに対するdentryが作成されます。 使わなくなったファイル名であっても、 メモリに余裕があればdentryは残り続けキャッシュとして働きます。 このためdentryはディレクトリキャッシュ(dcache)とも呼ばれます。

dentryコマンドでは引数でaddressを指定しなかった場合、 ハッシュからすべてのdentryを表示します。

dentryには以下の2種類があります。

ファイルが存在しないことをキャッシュしておく事により、 存在しないファイルへ頻繁にアクセスがあった場合に 素早くENOENTを返すことができます。 このようなファイルの例としてはWWWで使われる .htaccess などがあります。

INODEエントリは inode コマンドで表示できます。 SBエントリは super_block コマンドで表示できます。

HLCSAエントリに表示する文字は以下の意味です。
H ハッシュリストにリンクされている
L LRUリストにリンクされている
C childにリンクされている
S subdirsにリンクされている
A aliasにリンクされている

オプション

-s
サブディレクトリを表示します。
-p
親ディレクトリを再帰的に表示します。ファイルシステムのルートで止まります。

実行例

一覧表示
> dentry
    ADDR CNT    INODE   PARENT HLCSA     D_OP       SB F NAME
cb9f55a0   1 cb34d860 cbc39720 H-C-A        0 cbf7f400 8 boot.log
c8dbb440   1 c94532c0 c8dbb3c0 H-C-A        0 cbf7f400 8 pam_stack.so
c31b7520   0 cb8c7d80 cbd12e60 HLC-A c0251540 cbb41400 0 CyberTrio
c8e3a0c0   4 c928ae00 ca7e3a20 H-C-A        0 cbf7f400 8 libXt.so.6.0
c23f9ee0   1 c1d20840 c945bc20 H-CSA        0 cbf7f400 8 textmodes
cb36f120   0 cbf42bc0 cbfec9a0 HLC-A        0 cbf7f400 0 ld.so.cache
ca21d3c0  13 ca1c2680 ca7e3a20 H-C-A        0 cbf7f400 8 libSM.so.6.0
  (略)

dentryを検索
> dentry | grep " arch$"
cbd3ee20   1 cae57080 cbd3e1a0 H-CSA        0 cbf21000 8 arch
cb4f49a0   2 c3971ba0 cb506a20 H-CSA        0 cbbde800 8 arch

サブディレクトリ表示
> dentry -s cb4f49a0
    ADDR CNT    INODE   PARENT HLCSA     D_OP       SB F NAME
cb5519e0   0 c3b5a5e0 cb4f49a0 HLC-A        0 cbbde800 0 dummy
cb551960   0 c3b5a7c0 cb4f49a0 HLC-A        0 cbbde800 0 i386

親ディレクトリ
> dentry -p cb4f49a0
    ADDR CNT    INODE   PARENT HLCSA     D_OP       SB F NAME
cb4f49a0   2 c3971ba0 cb506a20 H-CSA        0 cbbde800 8 arch
cb506a20  25 c362a0a0 cb5068a0 H-CSA        0 cbbde800 8 mcrash
cb5068a0   1 c362a640 cb332460 H-CSA        0 cbbde800 8 src
cb332460  68 c7c4e4a0 caff2620 H-CSA        0 cbbde800 8 masano
caff2620   3 cadf42a0 caff2620 ---SA        0 cbbde800 0 /


mcrash, Copyright (C) 2002,2003 ASANO Masahiro