archive mirror
 help / color / mirror / Atom feed
* Crashmonkey and Ace: tools to test file-system crash consistency
@ 2018-10-02 20:34 Vijay Chidambaram
  0 siblings, 0 replies; only message in thread
From: Vijay Chidambaram @ 2018-10-02 20:34 UTC (permalink / raw)
  To: linux-fsdevel, Jayashree Mohan, Ashlie Martinez, vijay


My research group at UT Austin has developed two tools to help test
file-system crash-consistency. The tools found 10 previously
undiscovered bugs in btrfs and F2FS (some of which have existed in the
kernel since 2014). The tools work with any POSIX file system, and do
not require any modifications to file-system code.

The first tool, Crashmonkey, takes as input a workload (a sequence of
file-system operations). It runs the workload on a new file system,
simulates crashes after persistence points (fsync/fdatasync/sync),
recovers the file system, and tests if the file system recovered
correctly. It does not use fsck to test crash-consistency; it uses its
own fine-grained checks instead.

The second tool, Automatic Crash Explorer (Ace), generates workloads
that are fed to Crashmonkey. Given constraints such as the size of the
workload or which file-system operations to use in the workload, Ace
systematically generates all workloads that fall within the

Together, the tools provide push-button testing of crash-consistency
for POSIX file systems. Based on the computational budget for testing,
you can configure the tools to test different number of workloads.

The improvement over xfstests and dm-log-writes is that given
high-level constraints, generating workloads and testing each workload
is done automatically with our tools. With dm-log-writes and xfstests,
you need to manually write each workload.

Our code is available here:

We have instructions on how to run a single command to test your file
system with over 300 simple workloads. This command should take about
35 min on a single-core machine.

The paper about the work is available here:

Slides from our upcoming conference talk:

Finally, a demo about the tool:

We hope you find the tools useful. Thanks to Amir Goldstein and Ted
Ts'o who encouraged us in doing this work!

Vijay Chidambaram

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2018-10-03  3:20 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-10-02 20:34 Crashmonkey and Ace: tools to test file-system crash consistency Vijay Chidambaram

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).