Jayashree Mohan, The University of Texas at Austin
We present a new approach to testing 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. Each workload is tested 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. B3 builds upon insights derived from our study of crash-consistency bugs reported in Linux file systems in the last five 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. We built the tool CrashMonkey to demonstrate the effectiveness of this approach. CrashMonkey revealed 10 new crash-consistency bugs in widely-used, mature Linux file systems, seven of which existed in the kernel since 2014. It also revealed a data loss bug in a verified file system, FSCQ. The new bugs result in severe consequences like broken rename atomicity and loss of persisted files.
Jayashree Mohan, The University of Texas at Austin
Jayashree Mohan is a third year PhD student at the University of Texas at Austin. She works primarily on file and storage systems with a focus on testing the reliability of file systems. Prior to starting her PhD, she received a B.Tech in CS at the National Institute of Technology, Karnataka, India, in 2016. Over the past two Summers, she has interned at MSR India and MSR Cambridge, where she's given a couple of presentations about her ongoing research. She also presented her work on CrashMonkey at OSDI '18.
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 = {Jayashree Mohan},
title = {{CrashMonkey}: Finding File System {Crash-Consistency} Bugs with Bounded {Black-Box} Testing},
year = {2019},
address = {Boston, MA},
publisher = {USENIX Association},
month = feb
}