...
首页> 外文期刊>ACM Transactions on Storage >CrashMonkey and ACE: Systematically Testing File-System Crash Consistency
【24h】

CrashMonkey and ACE: Systematically Testing File-System Crash Consistency

机译:Crashmonkey和Ace:系统地测试文件系统崩溃一致性

获取原文
获取原文并翻译 | 示例
   

获取外文期刊封面封底 >>

       

摘要

We present CRASHMONKEY and ACE, a set of tools to systematically find crash-consistency bugs in Linux file systems. CRASHMONKEY is a record-and-replay framework which tests a given workload 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. ACE automatically generates all the workloads to be run on the target file system. We build CRASHMONKEY and ACE based on a new approach to test file-system crash consistency: bounded black-box crash testing (B-3). B-3 tests the file system in a black-box manner using workloads of file-system operations. Since the space of possible workloads is infinite, B-3 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. B-3 builds upon insights derived from our study of crash-consistency bugs reported in Linux file systems in the last 5 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. CRASHMONKEY and ACE are able to find 24 out of the 26 crash-consistency bugs reported in the last 5 years. Our tools also revealed 10 new crash-consistency bugs in widely used, mature Linux file systems, 7 of which existed in the kernel since 2014. Additionally, our tools found a crash-consistency bug in a verified file system, FSCQ. The new bugs result in severe consequences like broken rename atomicity, loss of persisted files and directories, and data loss.
机译:我们呈现Crashmonkey和Ace,这是一组系统地发现Linux文件系统中的崩溃 - 一致性错误。 Crashmonkey是一个记录和重放框架,通过模拟正在执行工作负载时通过模拟电源丢失来测试目标文件系统上的给定工作负载,并检查文件系统是否在每个崩溃后恢复到正确的状态。 ACE会自动生成要在目标文件系统上运行的所有工作负载。基于一种基于一种新方法来构建Crashmonkey和Ace来测试文件系统崩溃一致性:有界黑盒崩溃测试(B-3)。 B-3使用文件系统操作的工作负载以黑盒方式测试文件系统。由于可能的工作负载的空间是无限的,B-3基于诸如文件系统操作的数量的参数或包括该界限内的操作和彻底生成该限定空间内的工作负载的参数。 B-3在过去5年中,我们在Linux文件系统中报告的崩溃一致性错误的研究中展示了洞察力。我们观察到,大多数报告的错误可以在新创建的文件系统上使用三个或更少的文件系统操作的小型工作负载来复制,并且所有报告的错误都是由FSYNC()相关系统调用后的崩溃导致。 Crashmonkey和Ace能够找到过去5年中报告的26个崩溃一致性错误中的24个。我们的工具还揭示了10个新的崩溃 - 一致性错误,它是自2014年以来的核心内核中存在的10个新的崩溃 - 一致性错误。此外,我们的工具在验证的文件系统中找到了崩溃 - 一致性错误,FSCQ。新的错误导致严重后果,如衰退的重命名,持续的文件和目录丢失以及数据丢失。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号