usenix conference policies
EIO: Error Handling is Occasionally Correct
The reliability of file systems depends in part on how well they propagate errors. We develop a static analysis technique, EDP, that analyzes how file systems and storage device drivers propagate error codes. Running our EDP analysis on all file systems and 3 major storage device drivers in Linux 2.6, we find that errors are often incorrectly propagated; 1153 calls (13%) drop an error code without handling it.
We perform a set of analyses to rank the robustness of each subsystem based on the completeness of its error propagation; we find that many popular file systems are less robust than other available choices. We confirm that write errors are neglected more often than read errors. We also find that many violations are not corner-case mistakes, but perhaps intentional choices. Finally, we show that inter-module calls play a part in incorrect error propagation, but that chained propagations do not. In conclusion, error propagation appears complex and hard to perform correctly in modern systems.
Open Access Media
USENIX is committed to Open Access to the research presented at our events. Papers and proceedings are freely available to everyone once the event begins. Any video, audio, and/or slides that are posted after the event are also free and open to everyone. Support USENIX and our commitment to Open Access.
author = {Haryadi S. Gunawi and Cindy Rubio-Gonz{\'a}lez and Ben Liblit},
title = {{EIO}: Error Handling is Occasionally Correct},
booktitle = {6th USENIX Conference on File and Storage Technologies (FAST 08)},
year = {2008},
address = {San Jose, CA},
url = {https://www.usenix.org/conference/fast-08/eio-error-handling-occasionally-correct},
publisher = {USENIX Association},
month = feb
}
connect with us