カーネル モジュールで、ext4 ファイル システムの inode の直接/間接アドレスなどを取得しようとしています。ext_inode_info 構造体を調べる必要があることを理解しています (これは、関連する vfs_inode を使用して container_of を介して行います)。しかし、どの分野を調べればよいのでしょうか。
たとえば、最初の直接ポインタはどこにありますか? i_data配列に格納されていると思いました(ext3_inode_infoにあります)。しかし、ext4 i ノードの場合、i_data の最初のエントリを調べると、最初のデータ ブロックのアドレスを保持している実際のセクターとは少し似ていないセクター アドレスが得られます。
どんな助けでも大歓迎です。
==編集==
わかりましたので、基本的な問題を理解したようです。エクステントベースの ext4 ファイル システムを使用しています。この変更を認識していませんでした。これはデフォルトで有効になっています。ブロックの物理アドレスをオフセットで抽出する簡単な方法はありますか? 最初のエクステントを見て、最初の物理ブロック (論理 0) を確認するための検証として再試行していますが、意味不明な数字がいくつか得られます (ただし、すべての i ノード/ファイルで一貫して一意であるため、ある程度の進歩がありました)。