We propose a novel method to measure the dependability of journaling file systems. In our approach, we build models of how journaling file systems must behave under different journaling modes and use these models to analyze file system behavior under disk failures. Using our techniques, we measure the robustness of three important Linux journaling file systems: ext3, Reiserfs and IBM JFS. From our analysis, we identify several design flaws and correctness bugs present in these file systems, which can cause serious file system errors ranging from data corruption to unmountable file systems.
Vijayan Prabhakaran, Andrea C. Arpaci-Dusseau, Rem