ACM Transactions on Storage · 2014 · 10 citations · 7 references
ComputingComputer ScienceComputer SystemsFault ToleranceFormal MethodsOperating SystemsError DetectionFile SystemsCommitDowntimeFile System ConsistencyIntegrity CheckingJournaled File SystemsJournaling File SystemsMetadataTransactions
Data corruption is the most common consequence of file-system bugs. When such corruption occurs, offline check and recovery tools must be used, but they are error prone and cause significant downtime. Previously we showed that a runtime checker for the Ext3 file system can verify that metadata updates are consistent, helping detect corruption in metadata blocks at transaction commit time. However, corruption can still occur when a bug in the file system’s transactional mechanism loses, misdirects, or corrupts writes. We show that a runtime checker must enforce the atomicity and durability properties of the file system on every write, in addition to checking transactions at commit time, to provide the strong guarantee that every block write will maintain file system consistency. We identify the invariants that need to be enforced on journaling and shadow paging file systems to preserve the integrity of committed transactions. We also describe the key properties that make it feasible to check these invariants for a file system. Based on this characterization, we have implemented runtime checkers for Ext3 and Btrfs. Our evaluation shows that both checkers detect data corruption effectively, and they can be used during normal operation with low overhead.
7
Ohad Rodeh, Josef Bacik, Chris Mason · ACM Transactions on Storage · 2013 · 375 citations
Using model checking to find serious file system errors
Junfeng Yang, Paul Twohey, Dawson Engler et al. · ACM Transactions on Computer Systems · 2006 · 309 citations
Vijayan Prabhakaran, Lakshmi N. Bairavasundaram, Nitin Agrawal et al. · 2005 · 137 citations
Differentiated storage services
Michael P. Mesnier, Feng Chen, Tian Luo et al. · 2011 · 52 citations
Improving file system reliability with I/O shepherding
Haryadi S. Gunawi, Vijayan Prabhakaran, Swetha Krishnan et al. · 2007 · 50 citations