背景: tools/fs2 の check --allow-dirty は検査のみで、repair は未実装。KAN-15 のゲスト FS2 実装とは分けて、ホスト側の復旧経路を作る。 根拠: [doc/spec_FS2.md §9.1・§10・§12](`https://github.com/src3453/src32/blob/main/doc/spec_FS2.md)、[tools/fs2/README.md](https://github.com/src3453/src32/blob/main/tools/fs2/README.md)。` 作業と受け入れ条件: * 検査と明示 repair を区別し、書込み前に全構造を走査して元イメージを保存する。 * 一意に決められるビットマップ再構築・未到達 inode の解放の範囲を定義する。重複名・複数親・循環・共有/範囲外 block・壊れた名前等は自動修復せず報告する。 * 全検証に通った最後だけ DIRTY=0 を永続化し、修復不能・I/O 失敗では DIRTY と元データを保護する。 * セクタ書込み境界で中断した媒体と不正構造で、通常 mount の拒否、検査時の非変更、repair の限界をテストする。ファイル内容の完全復元は保証しない。 関連: KAN-15(ゲスト書込みの障害注入と同一媒体で突き合わせる)。 --- 移行元: [KAN-27](https://src3453.atlassian.net/browse/KAN-27)(Jira 状態: To Do (機能))
Activity