Toda is a hook filesystem and utility for injecting IO chaos into running processes.
The tool addresses the need to test system resilience by simulating filesystem failures and anomalies. It works by intercepting filesystem operations through a hook mechanism, allowing operators to inject errors, latency, and attribute modifications at the IO level. This enables chaos engineering practices where developers can verify how applications behave when encountering read failures, permission changes, or other filesystem disruptions.
Toda is suited for teams running chaos engineering experiments who need fine-grained control over filesystem behavior in isolated environments. It works within specific process and mount namespaces, making it appropriate for containerized or otherwise isolated workloads. The tool supports probabilistic injection, meaning failures can occur with specified likelihood rather than deterministically, which helps simulate realistic partial outages. However, potential adopters should be aware that filesystem caching can affect results when probabilities are less than one—successful reads may mask subsequent errors until the cache expires—so probability settings of one are recommended for consistent behavior. The tool has known limitations with very long paths near the 4096-byte boundary and cannot stat file descriptors after deletion.
Development activity shows consistent engagement with the codebase through regular commits addressing both features and stability. The project maintains active issue tracking and responds to reported problems. Pull requests receive review and integration, indicating an active maintenance cycle. The maintainers provide documentation of known constraints and compilation guidance, suggesting attention to production usability.