SnapRAID was created following the Unix philosophy: Write programs that do one thing and do it well.
The first design principle was reliability. The result is a simple architecture and an easy to understand implementation.
Extensive and automated tests with the runtime checker Valgrind and with the Google Sanitizers are done to ensure the correctness of the final application. The test has a code coverage of over 90%, measured with lcov.
SnapRAID is also verified with the Coverity Scan and clang static analyzers, and with the American Fuzzy Lop fuzzy tester.
The second design principle was robustness. It supports any kind of problem. Even on kernel panics, power-downs or any other hard failure at runtime, your redundancy data is in safe hands.
It uses all the possible storage techniques to ensure to always keep consistent redundancy even after critical interruptions.
The third design principle was efficiency. It's a native C application highly optimized to ensure maximum throughput of your disk array.
Integrity checks use the highly efficient murmur3 and SpookyHash hashes at 128 bits.
Redundancy computations use a custom RAID library (based on Linux Kernel RAID) supporting up to six parity levels. Internal structures use TommyDS.