Specifying and Checking File System Crash-Consistency Models

被引:38
|
作者
Bornholt, James [1 ]
Kaufmann, Antoine [1 ]
Li, Jialin [1 ]
Krishnamurthy, Arvind [1 ]
Torlak, Emina [1 ]
Wang, Xi [1 ]
机构
[1] Univ Washington, Seattle, WA 98195 USA
基金
美国国家科学基金会;
关键词
Crash consistency; file systems; verification;
D O I
10.1145/2954679.2872406
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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 of a file system across crashes. Crash-consistency models include both litmus tests, which demonstrate allowed and forbidden behaviors, and axiomatic and operational specifications. We present a formal framework for developing crash-consistency models, and a toolkit, called FERRITE, for validating those models against real file system implementations. We develop a crash-consistency model for ext4, and use FERRITE to demonstrate unintuitive crash behaviors of the ext4 implementation. To demonstrate the utility of crash consistency models to application writers, we use our models to prototype proof-of-concept verification and synthesis tools, as well as new library interfaces for crash-safe applications.
引用
下载
收藏
页码:83 / 98
页数:16
相关论文
共 50 条
  • [41] A general model checking framework for various memory consistency models
    Abe, Tatsuya
    Maeda, Toshiyuki
    INTERNATIONAL JOURNAL ON SOFTWARE TOOLS FOR TECHNOLOGY TRANSFER, 2017, 19 (05) : 623 - 647
  • [42] A General Model Checking Framework for Various Memory Consistency Models
    Abe, Tatsuya
    Maeda, Toshiyuki
    PROCEEDINGS OF 2014 IEEE INTERNATIONAL PARALLEL & DISTRIBUTED PROCESSING SYMPOSIUM WORKSHOPS (IPDPSW), 2014, : 332 - 341
  • [43] A general model checking framework for various memory consistency models
    Tatsuya Abe
    Toshiyuki Maeda
    International Journal on Software Tools for Technology Transfer, 2017, 19 : 623 - 647
  • [44] Intra- and interdiagram consistency checking of behavioral multiview models
    Kaufmann, Petra
    Kronegger, Martin
    Pfandler, Andreas
    Seidl, Martina
    Widl, Magdalena
    COMPUTER LANGUAGES SYSTEMS & STRUCTURES, 2015, 44 : 72 - 88
  • [45] Consistency Checking for the Evolution of Cardinality-based Feature Models
    Quinton, Clement
    Pleuss, Andreas
    Le Berre, Daniel
    Duchien, Laurence
    Botterweck, Goetz
    18TH INTERNATIONAL SOFTWARE PRODUCT LINE CONFERENCE (SPLC 2014), VOL 1, 2014, : 122 - 131
  • [46] A Consistency Mechanism for Distributed Persistent Memory File System
    Chen B.
    Lu Y.
    Cai T.
    Chen Y.
    Tu Y.
    Shu J.
    Jisuanji Yanjiu yu Fazhan/Computer Research and Development, 2020, 57 (03): : 660 - 667
  • [47] Semantics of trace relations in requirements models for consistency checking and inferencing
    Goknil, Arda
    Kurtev, Ivan
    van den Berg, Klaas
    Veldhuis, Jan-Willem
    SOFTWARE AND SYSTEMS MODELING, 2011, 10 (01): : 31 - 54
  • [48] Semantics of trace relations in requirements models for consistency checking and inferencing
    Arda Goknil
    Ivan Kurtev
    Klaas van den Berg
    Jan-Willem Veldhuis
    Software & Systems Modeling, 2011, 10 : 31 - 54
  • [49] Using Crash Hoare Logic for Certifying the FSCQ File System
    Chen, Haogang
    Ziegler, Daniel
    Chajed, Tej
    Chlipala, Adam
    Kaashoek, M. Frans
    Zeldovich, Nickolai
    SOSP'15: PROCEEDINGS OF THE TWENTY-FIFTH ACM SYMPOSIUM ON OPERATING SYSTEMS PRINCIPLES, 2015, : 18 - 37
  • [50] STACE: AN AID TO SYSTEM DESIGN AND CONSISTENCY CHECKING.
    Reynolds, R.A.
    Whiting, P.J.
    1600, (04):