ファイルオブジェクトがディレクトリ用かファイル用かをvfsレイヤーでLinuxカーネルにチェックインする方法は?
is_dx(dir)
これをチェックするという関数があることがわかりましたがnamei.c
、ext3
またはに存在しext4
ます。これは、ファイルシステムに依存しないvfsレイヤーで行う必要があります。
ファイルオブジェクトがディレクトリ用かファイル用かをvfsレイヤーでLinuxカーネルにチェックインする方法は?
is_dx(dir)
これをチェックするという関数があることがわかりましたがnamei.c
、ext3
またはに存在しext4
ます。これは、ファイルシステムに依存しないvfsレイヤーで行う必要があります。
S_ISDIR()
で定義されているマクロはどうinclude/linux/stat.h
ですか?inode->i_mode
問題のiノードがディレクトリまたはファイルに属しているかどうかを確認するには、フィールドが必要です。
初期ディレクトリのiノードを手にしたコード
名に一致するエントリを調べて、
対応するiノード。
q次に、そのノードを持つディレクトリファイルがディスクから読み取られ、
2番目の名前に一致するエントリを調べて、
対応するiノード。
qこの手順は、パスに含まれる名前ごとに繰り返されます。
dentryキャッシュは、手順を大幅に高速化します
ファイルシステムの操作は主にdcacheレベルで行われるため、
それらはすべてカーネルロック下にあります。