1. Recon
- Author
-
Rahat Mahmood, Daniel Fryer, Angela Demke Brown, Ashvin Goel, Tinghao Cheng, Kuei Sun, and Shaun Benjamin
- Subjects
File system ,Computer science ,Programming language ,Computer file ,computer.file_format ,Class implementation file ,computer.software_genre ,Unix file types ,Torrent file ,Self-certifying File System ,Hardware and Architecture ,Journaling file system ,Data_FILES ,Operating system ,Versioning file system ,computer - Abstract
File system bugs that corrupt metadata on disk are insidious. Existing reliability methods, such as checksums, redundancy, or transactional updates, merely ensure that the corruption is reliably preserved. Typical workarounds, based on using backups or repairing the file system, are painfully slow. Worse, the recovery may result in further corruption. We present Recon, a system that protects file system metadata from buggy file system operations. Our approach leverages file systems that provide crash consistency using transactional updates. We define declarative statements called consistency invariants for a file system. These invariants must be satisfied by each transaction being committed to disk to preserve file system integrity. Recon checks these invariants at commit, thereby minimizing the damage caused by buggy file systems. The major challenges to this approach are specifying invariants and interpreting file system behavior correctly without relying on the file system code. Recon provides a framework for file-system specific metadata interpretation and invariant checking. We show the feasibility of interpreting metadata and writing consistency invariants for the Linux ext3 file system using this framework. Recon can detect random as well as targeted file-system corruption at runtime as effectively as the offline e2fsck file-system checker, with low overhead.
- Published
- 2012
- Full Text
- View/download PDF