EIO: Error Handling is Occasionally Correct
The reliability of file systems depends in part on how well they propagate errors. The authors develop a static analysis technique, EDP, that analyzes how file systems and storage device drivers propagate error codes. Running their EDP analysis on all file systems and 3 major storage device drivers in Linux 2.6, they find that errors are often incorrectly propagated; 1153 calls (13%) drop an error code without handling it. They perform a set of analyses to rank the robustness of each subsystem based on the completeness of its error propagation; they find that many popular file systems are less robust than other available choices.