Affiliation:
1. Iowa State University
2. New Mexico State University
3. Western Digital Research
Abstract
File systems may become corrupted for many reasons despite various protection techniques. Therefore, most file systems come with a checker to recover the file system to a consistent state. However, existing checkers are commonly assumed to be able to complete the repair without interruption, which may not be true in practice. In this work, we demonstrate via fault injection experiments that checkers of widely used file systems (EXT4, XFS, BtrFS, and F2FS) may leave the file system in an uncorrectable state if the repair procedure is interrupted unexpectedly. To address the problem, we first fix the ordering issue in the undo logging of e2fsck and then build a general logging library (i.e., rfsck-lib) for strengthening checkers. To demonstrate the practicality, we integrate rfsck-lib with existing checkers and create two new checkers: rfsck-ext, a robust checker for Ext-family file systems, and rfsck-xfs, a robust checker for XFS file systems, both of which require only tens of lines of modification to the original versions. Both rfsck-ext and rfsck-xfs are resilient to faults in our experiments. Also, both checkers incur reasonable performance overhead (i.e., up to 12%) compared to the original unreliable versions. Moreover, rfsck-ext outperforms the patched e2fsck by up to nine times while achieving the same level of robustness.
Publisher
Association for Computing Machinery (ACM)
Subject
Hardware and Architecture
Reference88 articles.
1. Btrfs File System. n.d. https://btrfs.wiki.kernel.org/index.php/Main_Page. Btrfs File System. n.d. https://btrfs.wiki.kernel.org/index.php/Main_Page.
2. debugfs. n.d. http://man7.org/linux/man-pages/man8/debugfs.8.html. debugfs. n.d. http://man7.org/linux/man-pages/man8/debugfs.8.html.
3. Discussion with Theodore Ts’o at Linux FAST Summit’17. n.d. https://www.usenix.org/conference/linuxfastsummit17. Discussion with Theodore Ts’o at Linux FAST Summit’17. n.d. https://www.usenix.org/conference/linuxfastsummit17.
4. E2fsprogs: Ext2/3/4 Filesystem Utilities. n.d. http://e2fsprogs.sourceforge.net/. E2fsprogs: Ext2/3/4 Filesystem Utilities. n.d. http://e2fsprogs.sourceforge.net/.
5. Ext4 File System. n.d. https://ext4.wiki.kernel.org/index.php/Main_Page. Ext4 File System. n.d. https://ext4.wiki.kernel.org/index.php/Main_Page.
Cited by
10 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. PROV-IO: A Cross-Platform Provenance Framework for Scientific Data on HPC Systems;IEEE Transactions on Parallel and Distributed Systems;2024-05
2. MM-DIRECT;The VLDB Journal;2024-03-27
3. FaultyRank: A Graph-based Parallel File System Checker;2023 IEEE International Parallel and Distributed Processing Symposium (IPDPS);2023-05
4. On the Reproducibility of Bugs in File-System Aware Storage Applications;2022 IEEE International Conference on Networking, Architecture and Storage (NAS);2022-10
5. Comprehensive evaluation of file systems robustness with SPIN model checking;Software Testing, Verification and Reliability;2022-07-20