PhoinixDR

ADR-0003 — Synchronous filesystem I/O

Status: accepted · Date: 2026-09

Context

Filesystem parsers perform deterministic random reads that depend on previous results (boot sector → MFT → runlist → clusters). Async I/O at that layer adds complexity without improving throughput for dependent reads.

Decision

BlockReader::read_at is synchronous and positional. Parallelism belongs above the abstraction: a scan coordinator may run filesystem, validator and carving workers concurrently, each using synchronous reads.

Consequences