解放されたブロックはext4ログに書き込まれますか?

解放されたブロックはext4ログに書き込まれますか?

簡単な状況があるとしましょう。

  • ext4ジャーナル機能を備えたファイルシステム
  • file別のハードリンクのない名前の単一ファイル
  • 従業員inode専用file1データblock

この特定のケースの削除プロセスについて私が理解したことは次のとおりです。

  1. 削除するログfile
    1. 記録を1inodeに減らします。ref_cnt
    2. 犯罪
    3. レコードは0なので、プールに再ref_cntリリースされます。inode
    4. 犯罪
    5. レコードinodeが解放されたため、接続はblock再びプールに解放されます。
  2. 削除のために送信file

そのうちの1.5段階で公開されたブロック番号はどのように獲得しますか?ログに保存されますか?それでは、どのようにアクセスできますか?

私はこの情報を提供するファイルシステムインターフェースを探していました。私は私ができる最高のレベルに達しましたが、debugfs -R "logdump -a"そこからどのように進むべきかわかりません。

ext3grep注:回復に役立つ同様のツールがあることを知っていますfile。私の目標は、ログからブロック番号を取得し、トレーニング目的で手動で試すことです。また、私はこの情報を入手する前に再利用することinodeができることを理解しています。blockこの質問の目的のために、削除が完了した後にファイルシステムが読み取り専用であると仮定します。

ベストアンサー1

おすすめ記事