Abstract
We present CrashMonkey and Ace, a set of tools to systematically find crash-consistency bugs in Linux file systems. CrashMonkey is a record-and-replay framework which tests a given workload on the target file system by simulating power-loss crashes while the workload is being executed, and checking if the file system recovers to a correct state after each crash. Ace automatically generates all the workloads to be run on the target file system. We build CrashMonkey and Ace based on a new approach to test file-system crash consistency: bounded black-box crash testing (B3). B3 tests the file system in a black-box manner using workloads of file-system operations. Since the space of possible workloads is infinite, B3 bounds this space based on parameters such as the number of file-system operations or which operations to include, and exhaustively generates workloads within this bounded space. B3 builds upon insights derived from our study of crash-consistency bugs reported in Linux file systems in the last 5 years. We observed that most reported bugs can be reproduced using small workloads of three or fewer file-system operations on a newly created file system, and that all reported bugs result from crashes after fsync()-related system calls. CrashMonkey and Ace are able to find 24 out of the 26 crash-consistency bugs reported in the last 5 years. Our tools also revealed 10 new crash-consistency bugs in widely used, mature Linux file systems, 7 of which existed in the kernel since 2014. Additionally, our tools found a crash-consistency bug in a verified file system, FSCQ. The new bugs result in severe consequences like broken rename atomicity, loss of persisted files and directories, and data loss.
- Abutalib Aghayev, Theodore Ts’o, Garth Gibson, and Peter Desnoyers. 2017. Evolving ext4 for shingled disks. In 15th USENIX Conference on File and Storage Technologies (FAST’17). USENIX Association, 105--120. https://www.usenix.org/conference/fast17/technical-sessions/presentation/aghayev. Google ScholarDigital Library
- Amazon. 2018. Amazon EC2 On-Demand Pricing. https://aws.amazon.com/ec2/pricing/on-demand/.Google Scholar
- Apple. 2018. fsync(2) Mac OS X Developer Tools Manual Page. https://developer.apple.com/legacy/library/documentation/Darwin/Reference/ManPages/man2/fsync.2.html.Google Scholar
- Josef Bacik. 2018. dm: Log Writes Target. https://www.redhat.com/archives/dm-devel/2014-December/msg00047.html.Google Scholar
- Josef Bacik. 2013. xfstests: Add a Rename fsync Test. https://patchwork.kernel.org/patch/3234541/.Google Scholar
- Josef Bacik. 2013. xfstests: Add Generic/321 to Test fsync() on Directories V2. https://patchwork.kernel.org/patch/3234531/.Google Scholar
- Srivatsa S. Bhat, Rasha Eqbal, Austin T. Clements, M. Frans Kaashoek, and Nickolai Zeldovich. 2017. Scaling a file system to many cores using an operation log. In Proceedings of the 26th Symposium on Operating Systems Principles. ACM, 69--86. Google ScholarDigital Library
- Liu Bo. 2018. btrfs: Fix Unexpected -EEXIST When Creating New Inode. https://patchwork.kernel.org/patch/10184679/.Google Scholar
- James Bornholt, Antoine Kaufmann, Jialin Li, Arvind Krishnamurthy, Emina Torlak, and Xi Wang. 2016. Specifying and checking file system crash-consistency models. In Proceedings of the 21st International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS’16), Tom Conte and Yuanyuan Zhou (Eds.). ACM, 83--98. Google ScholarDigital Library
- btrfs Wiki. 2018. btrfs Check. https://btrfs.wiki.kernel.org/index.php/Manpage/btrfs-check.Google Scholar
- Tej Chajed. 2018. Disable Logged Writes for Crash Safety. https://github.com/mit-pdos/fscq/commit/97b50eceedf15a2c82ce1a5cf83c231eb3184760.Google Scholar
- Haogang Chen, Tej Chajed, Alex Konradi, Stephanie Wang, Atalay Ileri, Adam Chlipala, M. Frans Kaashoek, and Nickolai Zeldovich. 2017. Verifying a high-performance crash-safe file system using a tree specification. In Proceedings of the 26th Symposium on Operating Systems Principles. ACM, 270--286. Google ScholarDigital Library
- Haogang Chen, Daniel Ziegler, Tej Chajed, Adam Chlipala, M. Frans Kaashoek, and Nickolai Zeldovich. 2015. Using crash hoare logic for certifying the FSCQ file system. In Proceedings of the 25th Symposium on Operating Systems Principles (SOSP’15), Ethan L. Miller and Steven Hand (Eds.). ACM, 18--37. Google ScholarDigital Library
- Vijay Chidambaram. 2015. Orderless and Eventually Durable File Systems. Ph.D. Dissertation. University of Wisconsin, Madison.Google Scholar
- Vijay Chidambaram. 2018. btrfs: Strange Behavior (Possible Bugs) in btrfs. https://www.spinics.net/lists/linux-btrfs/msg77929.html.Google Scholar
- Vijay Chidambaram. 2018. btrfs: Symlink Not Persisted Even After fsync. https://www.spinics.net/lists/fstests/msg09379.html.Google Scholar
- Vijay Chidambaram, Thanumalayan Sankaranarayana Pillai, Andrea C. Arpaci-Dusseau, and Remzi H. Arpaci-Dusseau. 2013. Optimistic crash consistency. In Proceedings of the 24th ACM Symposium on Operating Systems Principles (SOSP’13). Google ScholarDigital Library
- Vijay Chidambaram, Tushar Sharma, Andrea C. Arpaci-Dusseau, and Remzi H. Arpaci-Dusseau. 2012. Consistency without ordering. In Proceedings of the 10th USENIX Symposium on File and Storage Technologies (FAST’12). 101--116. Google ScholarDigital Library
- Dave Chinner. 2018. btrfs: Symlink Not Persisted Even After fsync. https://www.spinics.net/lists/fstests/msg09363.html.Google Scholar
- Dave Chinner. 2018. INFO: Task Hung in xlog_grant_head_check. https://lkml.org/lkml/2018/5/22/1056.Google Scholar
- Dave Chinner. 2018. Symlink Not Persisted Even After fsync. https://www.spinics.net/lists/linux-btrfs/msg76835.html.Google Scholar
- Dave Chinner. 2018. WARNING: Bad Unlock Balance in xfs_iunlock. https://lkml.org/lkml/2018/4/3/9.Google Scholar
- Jonathan Corbet. 2014. Toward Better Testing. https://lwn.net/Articles/591985/.Google Scholar
- David Drysdale. 2016. Coverage-guided kernel fuzzing with syzkaller. Linux Weekly News 2 (2016), 33.Google Scholar
- The Open Group. 2018. The Open Group Base Specifications Issue 7. http://pubs.opengroup.org/onlinepubs/9699919799/.Google Scholar
- Eryu Guan. 2015. fstests: Generic Test for fsync of File with Multiple Links. https://www.spinics.net/lists/linux-btrfs/msg45915.html.Google Scholar
- Eryu Guan. 2017. ext4: fix fdatasync(2) After fallocate(2) Operation. https://lore.kernel.org/patchwork/patch/864704/.Google Scholar
- Eryu Guan. 2018. ext4: Update idisksize if Direct Write Past Ondisk Size. https://marc.info/?l=linux-ext48m=1516696690305478w=2.Google Scholar
- Greg Kroah Hartman. 2016. btrfs: Fix Empty Symlink After Creating Symlink and fsync Parent dir. https://lore.kernel.org/patchwork/patch/685585/.Google Scholar
- Dave Hitz, James Lau, and Michael Malcolm. 1994. File system design for an NFS File server appliance. In Proceedings of the 1994 USENIX Winter Technical Conference. Google ScholarDigital Library
- Sepp Hochreiter and Jürgen Schmidhuber. 1997. Long short-term memory. Neural Computation 9, 8 (1997), 1735--1780. Google ScholarDigital Library
- Yige Hu, Zhiting Zhu, Ian Neal, Yougjin Kwon, Tianyu Cheng, Vijay Chidambaram, and Emmett Witchel. 2018. TxFS: Leveraging file-system crash consistency to provide ACID transactions. In Proceedings of the 2018 USENIX Annual Technical Conference (ATC’18). USENIX Association. Google ScholarDigital Library
- Dave Jones. 2011. Trinity: A system call fuzzer. In Proceedings of the 13th Ottawa Linux Symposium.Google Scholar
- Diederik P. Kingma and Jimmy Ba. 2014. Adam: A method for stochastic optimization. Arxiv:1412.6980.Google Scholar
- Harendra Kumar, Yuvraj Patel, Ram Kesavan, and Sumith Makam. 2017. High performance metadata integrity protection in the WAFL copy-on-write file system. In Proceedings of the 15th USENIX Conference on File and Storage Technologies (FAST’17). USENIX Association, 197--212. https://www.usenix.org/conference/fast17/technical-sessions/presentation/kumar. Google ScholarDigital Library
- Ubuntu Bugs LaunchPad. 2018. Bug #317781: Ext4 Data Loss. https://bugs.launchpad.net/ubuntu/+source/linux/+bug/317781?comments=all.Google Scholar
- Changman Lee, Dongho Sim, Joo-Young Hwang, and Sangyeun Cho. 2015. F2FS: A new file system for flash storage. In Proceedings of the 13th USENIX Conference on File and Storage Technologies (FAST’15). USENIX Association, 273--286. http://dl.acm.org/citation.cfm?id=2750482.2750503. Google ScholarDigital Library
- Joe Mambretti, Jim Chen, and Fei Yeh. 2015. Next generation clouds, the chameleon cloud testbed, and software defined networking (sdn). In Proceedings of the 2015 International Conference on Cloud Computing Research and Innovation (ICCCRI’15). IEEE, 73--79. Google ScholarDigital Library
- Filipe Manana. 2014. btrfs: Fix Directory Recovery from fsyncLog. https://patchwork.kernel.org/patch/4864571/.Google Scholar
- Filipe Manana. 2014. btrfs: Fix fsync Data Loss after a Ranged fsync. https://patchwork.kernel.org/patch/4813651/.Google Scholar
- Filipe Manana. 2015. btrfs: Add Missing Inode Update When Punching Hole. https://patchwork.kernel.org/patch/5830801/.Google Scholar
- Filipe Manana. 2015. btrfs: Add Missing Inode Update When Punching Hole. https://www.spinics.net/lists/linux-btrfs/msg42047.html.Google Scholar
- Filipe Manana. 2015. btrfs: Fix fsync Data Loss After Adding Hard Link to Inode. https://patchwork.kernel.org/patch/5822681/.Google Scholar
- Filipe Manana. 2015. btrfs: Fix fsync Data Loss After Append Write. https://patchwork.kernel.org/patch/6624481/.Google Scholar
- Filipe Manana. 2015. btrfs: Fix Hole Punching When Using the No-Holes Feature. https://patchwork.kernel.org/patch/7536021/.Google Scholar
- Filipe Manana. 2015. btrfs: Fix Metadata Inconsistencies After Directory fsync. https://patchwork.kernel.org/patch/6058101/.Google Scholar
- Filipe Manana. 2015. btrfs: Fix Stale Directory Entries After fsync Log Replay. https://patchwork.kernel.org/patch/6852751/.Google Scholar
- Filipe Manana. 2015. btrfs: Remove Deleted xattrs on fsync Log Replay. https://www.spinics.net/lists/linux-btrfs/msg42162.html.Google Scholar
- Filipe Manana. 2016. btrfs: Fix File Loss on Log Replay After Renaming a File and fsync. https://patchwork.kernel.org/patch/8293181/.Google Scholar
- Filipe Manana. 2016. btrfs: Fix for Incorrect Directory Entries After fsync Log Replay. https://patchwork.kernel.org/patch/8766401/.Google Scholar
- Filipe Manana. 2016. fstests: Generic Test for Directory fsync After Rename Operation. https://patchwork.kernel.org/patch/8312681/.Google Scholar
- Filipe Manana. 2016. fstests: Generic Test for fsync After File Rename. https://patchwork.kernel.org/patch/9297215/.Google Scholar
- Filipe Manana. 2016. fstests: Generic Test for fsync After Renaming Directory. https://patchwork.kernel.org/patch/8694291/.Google Scholar
- Filipe Manana. 2016. fstests: Generic Test for fsync After Renaming File. https://patchwork.kernel.org/patch/8694301/.Google Scholar
- Filipe Manana. 2018. btrfs: Blocks Allocated Beyond EOF are Lost. https://www.spinics.net/lists/linux-btrfs/msg75108.html.Google Scholar
- Filipe Manana. 2018. Btrfs: Fix Log Replay Failure After Linking Special File and fsync. https://www.mail-archive.com/[email protected]/msg73890.html.Google Scholar
- Filipe Manana. 2018. btrfs: Fix Log Replay Failure after Unlink and Link Combination. https://www.spinics.net/lists/linux-btrfs/msg75204.html.Google Scholar
- Filipe Manana. 2018. btrfs: Strange Behavior (Possible Bugs) in btrfs. https://www.spinics.net/lists/linux-btrfs/msg81425.html.Google Scholar
- Filipe Manana. 2018. btrfs: Sync Log After Logging New Name. https://www.mail-archive.com/[email protected]/msg77875.html.Google Scholar
- Filipe Manana. 2018. Generic: Test fsync New File After Removing Hard Link. https://marc.info/?l=linux-btrfs8m=1519833491120058w=2.Google Scholar
- Filipe Manana. 2018. Re: Strange Behavior (Possible Bugs) in btrfs. https://www.spinics.net/lists/linux-btrfs/msg81425.html.Google Scholar
- Ashlie Martinez and Vijay Chidambaram. 2017. Crashmonkey: A framework to systematically test file-system crash consistency. In Proceedings of the 9th USENIX Conference on Hot Topics in Storage and File Systems. USENIX Association, 6--6. Google ScholarDigital Library
- Chris Mason. 2018. btrfs: Inconsistent Behavior of fsync in btrfs. https://www.spinics.net/lists/linux-btrfs/msg77282.html.Google Scholar
- Chris Mason. 2018. btrfs: Inconsistent Behavior of fsync in btrfs. https://www.spinics.net/lists/linux-btrfs/msg77318.html.Google Scholar
- Avantika Mathur, Mingming Cao, Suparna Bhattacharya, Andreas Dilger, Alex Tomas, and Laurent Vivier. 2007. The new ext4 filesystem: Current status and future plans. In Proceedings of the Linux Symposium, Vol. 2. 21--33.Google Scholar
- Marshall K. McKusick, Gregory R. Ganger, et al. 1999. Soft updates: A technique for eliminating most synchronous writes in the fast filesystem. In Proceedings of the USENIX Annual Technical Conference, FREENIX Track. 1--17. Google ScholarDigital Library
- R. McMillan. 2012. Amazon Blames Generators for Blackout that Crushed Netflix. http://www.wired.com/wiredenterprise/2012/07/amazon explains/.Google Scholar
- R. Miller. 2012. Power Outage Hits London Data Center. http://www.datacenterknowledge.com/archives/2012/07/10/power-outage-hits-london-data-center/.Google Scholar
- R. Miller. 2013. Data Center Outage Cited in Visa Downtime Across Canada. http://www.datacenterknowledge.com/archives/2013/01/28/data-center-outage-cited-in-visa-downtime-across-canada/.Google Scholar
- R. Miller. 2013. Power Outage Knocks Dreamhost Customers Offline. http://www.datacenterknowledge.com/archives/2013/03/20/power-outage- knocks-dreamhost-customers-offline/.Google Scholar
- Jayashree Mohan. 2018. btrfs: Hard Link Not Persisted On fsync. https://www.spinics.net/lists/linux-btrfs/msg76878.html.Google Scholar
- Jayashree Mohan. 2018. btrfs: Inconsistent Behavior of fsync in btrfs. https://www.spinics.net/lists/linux-btrfs/msg77219.html.Google Scholar
- Jayashree Mohan, Ashlie Martinez, Soujanya Ponnapalli, Pandian Raju, and Vijay Chidambaram. 2018. Finding crash-consistency bugs with bounded black-box crash testing. In Proceedings of the 13th USENIX Symposium on Operating Systems Design and Implementation (OSDI’18). USENIX Association, 33--50. https://www.usenix.org/conference/osdi18/presentation/mohan. Google ScholarDigital Library
- Vegard Nossum and Quentin Casasnovas. 2016. Filesystem Fuzzing with American Fuzzy Lop. https://lwn.net/Articles/685182/.Google Scholar
- Thanumalayan Sankaranarayana Pillai, Ramnatthan Alagappan, Lanyue Lu, Vijay Chidambaram, Andrea C. Arpaci-Dusseau, and Remzi H. Arpaci-Dusseau. 2017. Application crash consistency and performance with CCFS. In Proceedings of the 15th USENIX Conference on File and Storage Technologies (FAST’17). USENIX Association, 181--196. https://www.usenix.org/conference/fast17/technical-sessions/presentation/pillai. Google ScholarDigital Library
- Thanumalayan Sankaranarayana Pillai, Vijay Chidambaram, Ramnatthan Alagappan, Samer Al-Kiswany, Andrea C. Arpaci-Dusseau, and Remzi H. Arpaci-Dusseau. 2014. All file systems are not created equal: On the complexity of crafting crash-consistent applications. In Proceedings of the 11th Symposium on Operating Systems Design and Implementation (OSDI’14).Google ScholarDigital Library
- POSIX. 2018. fsync: The Open Group Base Specifications Issue 6. http://pubs.opengroup.org/onlinepubs/009695399/functions/fsync.html.Google Scholar
- Vijayan Prabhakaran, Andrea C. Arpaci-Dusseau, and Remzi H. Arpaci-Dusseau. 2005. Analysis and evolution of journaling file systems. In Proceedings of the USENIX Annual Technical Conference (USENIX’05). 105--120. Google ScholarDigital Library
- Eunhee Rho, Kanchan Joshi, Seung-Uk Shin, Nitesh Jagadeesh Shetty, Jooyoung Hwang, Sangyeun Cho, Daniel DG Lee, and Jaeheon Jeong. 2018. FStream: Managing flash streams in the file system. In Proceedings of the 16th USENIX Conference on File and Storage Technologies (FAST’18). USENIX Association, 257--264. https://www.usenix.org/conference/fast18/presentation/rho. Google ScholarDigital Library
- Ohad Rodeh, Josef Bacik, and Chris Mason. 2013. BTRFS: The linux b-tree filesystem. ACM Transactions on Storage (TOS) 9, 3 (2013), 9. Google ScholarDigital Library
- Mendel Rosenblum and John Ousterhout. 1992. The design and implementation of a log-structured file system. ACM Transactions on Computer Systems (TOCS) 10, 1 (Feb. 1992), 26--52. Google ScholarDigital Library
- Helgi Sigurbjarnarson, James Bornholt, Emina Torlak, and Xi Wang. 2016. Push-button verification of file systems via crash refinement. In Proceedings of the 12th USENIX Conference on Operating Systems Design and Implementation (OSDI’16). USENIX Association, 1--16. http://dl.acm.org/citation.cfm?id=3026877.3026879. Google ScholarDigital Library
- Yongseok Son, Sunggon Kim, Heon Y. Yeom, and Hyuck Han. 2018. High-performance transaction processing in journaling file systems. In Proceedings of the16th USENIX Conference on File and Storage Technologies (FAST’18). USENIX Association, 227--240. https://www.usenix.org/conference/fast18/presentation/son. Google ScholarDigital Library
- Adan Sweeney, Doug Doucette, Wei Hu, Curtis Anderson, Mike Nishimoto, and Geoff Peck. 1996. Scalability in the XFS file system. In Proceedings of the USENIX Annual Technical Conference (USENIX’96). Google ScholarDigital Library
- Ted Ts’o. 2018. Symlink Not Persisted Even After fsync. https://www.spinics.net/lists/linux-btrfs/msg76844.html.Google Scholar
- Theodore Y. Ts’o. 2018. btrfs: Inconsistent Behavior of fsync in btrfs. https://www.spinics.net/lists/linux-btrfs/msg77389.html.Google Scholar
- Theodore Y. Ts’o. 2018. btrfs: Inconsistent Behavior of fsync in btrfs. https://www.spinics.net/lists/linux-btrfs/msg77340.html.Google Scholar
- UTSASLab. 2018. Crash-Consistency Bugs Studied and Reproduced. https://github.com/utsaslab/crashmonkey/blob/master/reproducedBugs.md.Google Scholar
- UTSASLab. 2018. New Crash-Consistency Bugs Found. https://github.com/utsaslab/crashmonkey/blob/master/newBugs.md.Google Scholar
- J. Verge. 2014. Internap Data Center Outage Takes Down Livestream and Stackexchange. http://www.datacenterknowledge.com/archives/2014/05/16/internap-data-center-outage-takes-livestream-stackexchange/.Google Scholar
- Dmitry Vyukov. 2018. Syzbot. https://lwn.net/Articles/749910/.Google Scholar
- R. S. V. Wolffradt. 2014. Fire In Your Data Center: No Power, No Access, Now What? http://www.govtech.com/state/Fire-in-your-Data-Center-No-Power-No-Access-Now-What.html.Google Scholar
- Youjip Won, Jaemin Jung, Gyeongyeol Choi, Joontaek Oh, Seongbae Son, Jooyoung Hwang, and Sangyeun Cho. 2018. Barrier-enabled IO stack for flash storage. In Proceedings of the 16th USENIX Conference on File and Storage Technologies (FAST’18). USENIX Association, 211--226. http://dl.acm.org/citation.cfm?id=3189759.3189779. Google ScholarDigital Library
- Junfeng Yang, Can Sar, and Dawson Engler. 2006. EXPLODE: A lightweight, general system for finding serious storage system errors. In Proceedings of the 7th Symposium on Operating Systems Design and Implementation (OSDI’06). Google ScholarDigital Library
- Junfeng Yang, Paul Twohey, Dawson R. Engler, and Madanlal Musuvathi. 2004. Using model checking to find serious file system errors (awarded best paper!). In Proceedings of the 6th Symposium on Operating System Design and Implementation (OSDI’04), Eric A. Brewer and Peter Chen (Eds.). USENIX Association, 273--288. http://www.usenix.org/events/osdi04/tech/yang.html. Google ScholarDigital Library
- Chao Yu. 2017. f2fs: Keep isize Once Block is Reserved Cross EOF. https://sourceforge.net/p/linux-f2fs/mailman/message/36104201/.Google Scholar
- Chao Yu. 2018. f2fs: Enforce fsync_mode=strict for Renamed Directory. https://lkml.org/lkml/2018/4/25/674.Google Scholar
- Chao Yu. 2018. f2fs: Fix to Set KEEP_SIZE Bit in f2fs_zero_range. https://lore.kernel.org/patchwork/patch/889955/.Google Scholar
- Jun Yuan, Yang Zhan, William Jannen, Prashant Pandey, Amogh Akshintala, Kanchan Chandnani, Pooja Deo, Zardosht Kasheff, Leif Walsh, Michael Bender, Martin Farach-Colton, Rob Johnson, Bradley C. Kuszmaul, and Donald E. Porter. 2016. Optimizing every operation in a write-optimized file system. In Proceedings of the 14th USENIX Conference on File and Storage Technologies (FAST’16). USENIX Association, 1--14. https://www.usenix.org/conference/fast16/technical-sessions/presentation/yuan. Google ScholarDigital Library
- Shuanglong Zhang, Helen Catanese, and Andy An-I Wang. 2016. The composite-file file system: Decoupling the one-to-one mapping of files and metadata for better performance. In Proceedings of the 14th USENIX Conference on File and Storage Technologies (FAST’16). USENIX Association, 15--22. https://www.usenix.org/conference/fast16/technical-sessions/presentation/zhang-shuanglong. Google ScholarDigital Library
- Mai Zheng, Joseph Tucek, Dachuan Huang, Feng Qin, Mark Lillibridge, Elizabeth S. Yang, Bill W Zhao, and Shashank Singh. 2014. Torturing databases for fun and profit. In Proceedings of the 11th USENIX Symposium on Operating Systems Design and Implementation (OSDI’14). USENIX Association, 449--464. https://www.usenix.org/conference/osdi14/technical-sessions/presentation/zheng_mai. Google ScholarDigital Library
Index Terms
- CrashMonkey and ACE: Systematically Testing File-System Crash Consistency
Recommendations
Specifying and Checking File System Crash-Consistency Models
ASPLOS '16: Proceedings of the Twenty-First International Conference on Architectural Support for Programming Languages and Operating SystemsApplications depend on persistent storage to recover state after system crashes. But the POSIX file system interfaces do not define the possible outcomes of a crash. As a result, it is difficult for application writers to correctly understand the ...
SplitFS: reducing software overhead in file systems for persistent memory
SOSP '19: Proceedings of the 27th ACM Symposium on Operating Systems PrinciplesWe present SplitFS, a file system for persistent memory (PM) that reduces software overhead significantly compared to state-of-the-art PM file systems. SplitFS presents a novel split of responsibilities between a user-space library file system and an ...
Chipmunk: Investigating Crash-Consistency in Persistent-Memory File Systems
EuroSys '23: Proceedings of the Eighteenth European Conference on Computer SystemsWe present Chipmunk, a new framework to test persistent-memory (PM) file systems for crash-consistency bugs. Using Chipmunk, we discovered 23 new bugs across five PM file systems; most bugs have been confirmed and fixed by developers. The discovered ...
Comments