2011-04-30 9 views
2

ファイルシステムのすべてのinodeを取得する効率的な方法は何ですか?理論的には、fsckのようなものが必要です。すべてのiノードを反復処理する方法は、Linux上のファイルシステムに属していますか?

+0

iノードを「取得」することはどういう意味ですか? – Gabe

+0

スーパーブロックに問い合わせると、iノードテーブルの開始点が得られます。 –

+0

ありがとうMarc、これは私がやることだと思います – Istvan

答えて

1

dumpe2fsは、e2fsprogsパッケージの一部で、ext *ファイルシステムのinodeに関する情報をダンプできます。

0
  1. ナイーブ最も簡単/方法:(あなたのユースケースに応じて)ilookup5()またはilookup()のいずれかを使用して、それらの各々のためのすべての可能な値(おそらくすべての可能な32ビット値)とプローブを反復処理。
  2. カーネルバージョン2.4の場合:inodeの使用リストではなく、使用中のリストを反復処理します。これらのリストには、有効なiノードだけが含まれます。このアプローチの問題は、これらのリストにアクセスするためにVFSレイヤーによって提供されるインターフェイスがないように思われるため、直接アクセスする必要がありますが、これは良い考えではありません。
関連する問題