2016
DOI: 10.1145/2980024.2872406
|View full text |Cite
|
Sign up to set email alerts
|

Specifying and Checking File System Crash-Consistency Models

Abstract: Applications 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 ordering of and dependencies between file system operations, which can lead to corrupt application state and, in the worst case, catastrophic data loss. This paper presents crash-consistency models, analogous to memory consistency models, which describe the behavior o… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

1
31
0

Year Published

2017
2017
2022
2022

Publication Types

Select...
5
3
1

Relationship

1
8

Authors

Journals

citations
Cited by 21 publications
(32 citation statements)
references
References 52 publications
1
31
0
Order By: Relevance
“…Within modern storage systems, this same tension arises. A file system, for example, could commit all updates in order, adding constraints to ease the construction of applications (and their crash-recovery protocols) atop them [4,38]. Many file system developers have determined that such ordering is performance prohibitive; as a result, most modern file systems reduce internal ordering constraints.…”
Section: Introductionmentioning
confidence: 99%
“…Within modern storage systems, this same tension arises. A file system, for example, could commit all updates in order, adding constraints to ease the construction of applications (and their crash-recovery protocols) atop them [4,38]. Many file system developers have determined that such ordering is performance prohibitive; as a result, most modern file systems reduce internal ordering constraints.…”
Section: Introductionmentioning
confidence: 99%
“…Litmus testing for memory consistency models is well established [Alglave et al 2015[Alglave et al , 2011Chong et al 2018], but it remains unclear how best to insert the crashes that would be needed to test memory persistency models. One option would be to use a simulator (which is how Bornholt et al [2016] validated their crash-consistency models for filesystems) but this would not necessary reveal all the concurrency behaviours that real processors can exhibit. Another option, applicable when the processor-under-test is a component of a system-on-chip (SoC) FPGA [Jain et al 2018], is to build custom hardware to monitor the traffic to persistent memory, and thus to detect nvo violations without the need for crashes.…”
Section: Discussionmentioning
confidence: 99%
“…Ferrite [Bornholt et al 2016] is a tool for reasoning about crash safety of programs running on modern file systems, which offer only weak consistency semantics. It consists of a verifier and a synthesizer.…”
Section: File System Crash-consistencymentioning
confidence: 99%