Improving file system reliability with I/O shepherding

  • Authors:
  • Haryadi S. Gunawi;Vijayan Prabhakaran;Swetha Krishnan;Andrea C. Arpaci-Dusseau;Remzi H. Arpaci-Dusseau

  • Affiliations:
  • University of Wisconsin - Madison, Madison, WI;Microsoft Research - Silicon Valey, Mountain View, CA;University of Wisconsin - Madison, Madison, WI;University of Wisconsin - Madison, Madison, WI;University of Wisconsin - Madison, Madison, WI

  • Venue:
  • Proceedings of twenty-first ACM SIGOPS symposium on Operating systems principles
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

We introduce a new reliability infrastructure for file systems called I/O shepherding. I/O shepherding allows a file system developer to craft nuanced reliability policies to detect and recover from a wide range of storage system failures. We incorporate shepherding into the Linux ext3 file system through a set of changes to the consistency management subsystem, layout engine, disk scheduler, and buffer cache. The resulting file system, CrookFS, enables a broad class of policies to be easily and correctly specified. We implement numerous policies, incorporating data protection techniques such as retry, parity, mirrors, checksums, sanity checks, and data structure repairs; even complex policies can be implemented in less than 100 lines of code, confirming the power and simplicity of the shepherding framework. We also demonstrate that shepherding is properly integrated, adding less than 5% overhead to the I/O path.