- 701 名前:696 mailto:sage [2012/05/23(水) 00:47:46.11 ID:9NniJAVU]
- >>700
すいません、次のとおりです。 1. dd で 1GB のファイル(disk.raw)を作成、mkfs.ext4 でファイルをフォーマット 2. loop オプションでマウント 3. 64KB のファイルを作成。 中身は全部 0xC1 (00とかFFでなければ何でも良かった) 4. 一旦アンマウント。 5. disk.raw を 16進ダンプして C1 が 16個 並ぶ行をカウント → 4096 行 6. マウント 7. fseek と fwrite(C言語) 使って 3. のファイルの 7000(0x15B8)番地から 12000バイト適当なパターンを書き込み 8. アンマウント 9. disk.raw を 16進ダンプして C1 が 16個 並ぶ行をカウント → 3345 行 > 5の間に解放されたブロックが最利用されてるんじゃないの? 再利用されていれば 1KB(1ブロック) 以上 C1 じゃ無いところが発生するはずだが実際は すべて上書きだった。 ここまでだとデフラグされた可能性はあるけど、 ext3/4 のジャーナルがメタ情報しかジャーナリングで保護されないと知っていれば >>684 の言う動作はしていない(していればメタ情報しか保護しない理由がなくなる) と解るはず。
|

|