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 条
  • [1] Specifying and checking file system crash-consistency models
    Bornholt J.
    Kaufmann A.
    Li J.
    Krishnamurthy A.
    Torlak E.
    Wang X.
    2016, Association for Computing Machinery (51): : 83 - 98
  • [2] Chipmunk: Investigating Crash-Consistency in Persistent-Memory File Systems
    LeBlanc, Hayley
    Pailoor, Shankara
    Om, Saran K. R. E.
    Dillig, Isil
    Bornholt, James
    Chidambaram, Vijay
    PROCEEDINGS OF THE EIGHTEENTH EUROPEAN CONFERENCE ON COMPUTER SYSTEMS, EUROSYS 2023, 2023, : 718 - 733
  • [3] Fast consistency checking for the Solaris file system
    Peacock, JK
    Kamaraju, A
    Agrawal, S
    PROCEEDINGS OF THE USENIX 1998 ANNUAL TECHNICAL CONFERENCE, 1998, : 77 - 89
  • [4] Finding Crash-Consistency Bugs with Bounded Black-Box Crash Testing
    Mohan, Jayashree
    Martinez, Ashlie
    Ponnapalli, Soujanya
    Raju, Pandian
    Chidambaram, Vijay
    PROCEEDINGS OF THE 13TH USENIX SYMPOSIUM ON OPERATING SYSTEMS DESIGN AND IMPLEMENTATION, 2018, : 33 - 50
  • [5] Maintaining consistency of File system by Monitoring file system parameters at Runtime using Consistency Checking Rules
    Meshram, Aniket G.
    Gore, Sonal
    2015 4TH INTERNATIONAL CONFERENCE ON RELIABILITY, INFOCOM TECHNOLOGIES AND OPTIMIZATION (ICRITO) (TRENDS AND FUTURE DIRECTIONS), 2015,
  • [6] CrashMonkey and ACE: Systematically Testing File-System Crash Consistency
    Mohan, Jayashree
    Martinez, Ashlie
    Ponnapalli, Soujanya
    Raju, Pandian
    Chidambaram, Vijay
    ACM TRANSACTIONS ON STORAGE, 2019, 15 (02)
  • [7] TxFS: Leveraging File-system Crash Consistency to Provide ACID Transactions
    Hu, Yige
    Zhu, Zhiting
    Neal, Ian
    Kwon, Youngjin
    Cheng, Tianyu
    Chidambaram, Vijay
    Witchel, Emmett
    ACM TRANSACTIONS ON STORAGE, 2019, 15 (02)
  • [8] TxFS: Leveraging File-System Crash Consistency to Provide ACID Transactions
    Hu, Yige
    Zhu, Zhiting
    Neal, Ian
    Kwon, Youngjin
    Cheng, Tianyu
    Chidambaram, Vijay
    Witchel, Emmett
    PROCEEDINGS OF THE 2018 USENIX ANNUAL TECHNICAL CONFERENCE, 2018, : 879 - 891
  • [9] SquirrelFS: using the Rust compiler to check file-system crash consistency
    LeBlanc, Hayley
    Taylor, Nathan
    Bornholt, James
    Chidambaram, Vijay
    PROCEEDINGS OF THE 18TH USENIX SYMPOSIUM ON OPERATING SYSTEMS DESIGN AND IMPLEMENTATION, OSDI 2024, 2024, : 387 - 404
  • [10] TXFS: Leveraging file-system crash consistency to provide acid transactions
    Hu, Yige
    Zhu, Zhiting
    Neal, Ian
    Kwon, Youngjin
    Cheng, Tianyu
    Chidambaram, Vijay
    Witchel, Emmett
    Proceedings of the 2018 USENIX Annual Technical Conference, USENIX ATC 2018, 2020, : 879 - 891