この声明を説明してください:
directory_path=dentry_path_raw(lower_dentry,buf,buflen);
また、それがどのように機能するかの例を挙げてください
にはどのようなフィールドがstruct dentry
含まれていますか? フィールドは何s_root
を指していますか?フィールドには何がs_root
含まれていますか?
この声明を説明してください:
directory_path=dentry_path_raw(lower_dentry,buf,buflen);
また、それがどのように機能するかの例を挙げてください
にはどのようなフィールドがstruct dentry
含まれていますか? フィールドは何s_root
を指していますか?フィールドには何がs_root
含まれていますか?
ここで dentry のフィールドを確認できます。dentry_path_raw
ファイル システムのルートからディレクトリ エントリのフル パスをbuffer
. defined ins_root
のメンバーで あり、ファイル システムのルートである.super block
linux/fs.h
dentry
char *dentry_path_raw(struct dentry *dentry, char *buf, int buflen)
上記の関数は、ファイル システムのルートからバッファーへのフル パス名を返します。各フィールドは次のように説明されます。
検索するファイルの @dentry-dentry
パスを格納する @buf-buffer
@buflen-@buf の長さ
詳細については、fs/dcache.c ファイルを確認してください。