簡単な状況があるとしましょう。
ext4
ジャーナル機能を備えたファイルシステムfile
別のハードリンクのない名前の単一ファイル- 従業員
inode
専用file
1データblock
この特定のケースの削除プロセスについて私が理解したことは次のとおりです。
- 削除するログ
file
- 記録を1
inode
に減らします。ref_cnt
- 犯罪
- レコードは0なので、プールに再
ref_cnt
リリースされます。inode
- 犯罪
- レコード
inode
が解放されたため、接続はblock
再びプールに解放されます。
- 記録を1
- 削除のために送信
file
そのうちの1.5段階で公開されたブロック番号はどのように獲得しますか?ログに保存されますか?それでは、どのようにアクセスできますか?
私はこの情報を提供するファイルシステムインターフェースを探していました。私は私ができる最高のレベルに達しましたが、debugfs -R "logdump -a"
そこからどのように進むべきかわかりません。
ext3grep
注:回復に役立つ同様のツールがあることを知っていますfile
。私の目標は、ログからブロック番号を取得し、トレーニング目的で手動で試すことです。また、私はこの情報を入手する前に再利用することinode
ができることを理解しています。block
この質問の目的のために、削除が完了した後にファイルシステムが読み取り専用であると仮定します。