ffc3f03744
Phase 1: VfsBlockChecksum struct + JSON storage (~240 lines) - VfsBlockChecksum: offset + SHA-256 hash - VfsChecksumFile: block_size + algorithm + blocks + file_size - compute_block_hash() + verify_block_hash() - ChecksumMode: Lazy (default) + OnRead - ScrubResult: total/verified/corrupted/repaired blocks metrics Phase 2: ChecksumFile wrapper (~180 lines) - VfsFile wrapper with transparent checksum - Lazy verification (only on scrub) - Cache of verified blocks - Update checksum on flush() - read_at/write_at support Phase 3: Scrub API (~150 lines) - scrub_file(): verify single file integrity - scrub_all(): recursive directory scrub - create_checksums_for_file(): generate checksums - repair_block(): placeholder for RAID/Dedup Phase 4: RAID repair integration (~160 lines) - repair_block_from_parity(): reconstruct from RAID parity - reconstruct_from_p(): XOR reconstruction for RaidZ1 - reconstruct_from_pq/pqr(): placeholder for RaidZ2/3 Tests: 15 checksum tests pass (465 total) Files: - markbase-core/src/vfs/checksum.rs (NEW) - markbase-core/src/vfs/checksum_file.rs (NEW) - markbase-core/src/vfs/raid.rs (MOD +160 lines) - markbase-core/src/vfs/mod.rs (MOD +2 lines)