試験で次の質問がありました。
ext3 ファイルシステムでは、dentry の数が i ノードの数よりも多くなります。
True または False で答えて説明する必要がありました。
私の答え:
dentry はディレクトリ間のリンクであり、基本的にすべてが i ノード (ディレクトリであっても) であるため、これは誤りです。
ただし、ext3 ファイル システムについては考慮していません。私が見逃したものはありますか、それとも私の答えは正しいですか?
試験で次の質問がありました。
ext3 ファイルシステムでは、dentry の数が i ノードの数よりも多くなります。
True または False で答えて説明する必要がありました。
私の答え:
dentry はディレクトリ間のリンクであり、基本的にすべてが i ノード (ディレクトリであっても) であるため、これは誤りです。
ただし、ext3 ファイル システムについては考慮していません。私が見逃したものはありますか、それとも私の答えは正しいですか?
次の理由により、歯の数が増える可能性があります。
クリーンにアンマウントされたファイルシステムでは、dentry の数は常にinode の数よりも多くなります。
考慮事項: すべての i ノード (開いているファイル ハンドルを介して存続しているリンクされていないファイルを除く - これらは、クリーンなアンマウントで、またはアンクリーンなアンマウント後の回復中にパージされます) には、少なくとも 1 つの dentry が関連付けられています。すべてのディレクトリ inode には少なくとも 2 つのリンクがあります。親 (または..
ルートの場合はそれ自体) からのリンクと.
. さらに、ディレクトリには、各サブディレクトリの dentry に関連付けられた追加の dentry があり..
ます。
したがって、絶対最小値では、inode よりも 1 つ多くの dentry があります (ルート ディレクトリのみを持つ FS の場合)。追加のディレクトリとハードリンクは、これをさらに膨らませます。
しかし、ハードリンクを持つことができます。そのため、同じ inode を指している多くの dentry を合理的に持つことができます。