Improving file system reliability with I/O shepherding

Haryadi S. Gunawi, Vijayan Prabhakaran, Swetha Krishnan, Andrea C. Arpaci-Dusseau, and Remzi H. Arpaci-Dusseau

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.

Details

Publication typeInproceedings
Published inProceedings of Twenty-First ACM SIGOPS Symposium on Operating Systems Principles (SOSP'07)
URLhttp://portal.acm.org/ft_gateway.cfm?id=1294290&type=pdf&coll=GUIDE&dl=GUIDE&CFID=14837409&CFTOKEN=48820200
PublisherAssociation for Computing Machinery, Inc.
> Publications > Improving file system reliability with I/O shepherding