2007 · 55 citations · 35 references
ComputingComputer ScienceComputer SystemsFault ToleranceOperating SystemsStorage SystemsFile SystemsReliable Storage SystemsStorage ConsistencyStorage ManagementStorage ReliabilityAbstractionConsistencyConsistency EnforcementDependency Structure ModelingFile System ConsistencyJournaled File SystemsSoftware UpdatesStorage System Reliability
Reliable storage systems depend in part on “write-before” relationships where some changes to stable storage are delayed until other changes commit. A journaled file system, for example, must commit a journal transaction before applying that transaction’s changes, and soft updates [9] and other consistency enforcement mechanisms have similar constraints, implemented in each case in systemdependent ways. We present a general abstraction, the patch, that makes write-before relationships explicit and file system agnostic. A patch-based file system implementation expresses dependencies among writes, leaving lower system layers to determine write orders that satisfy those dependencies. Storage system modules can examine and modify the dependency structure, and generalized file system dependencies are naturally exportable to user level. Our patch-based storage system, Featherstitch, includes several important optimizations that reduce patch overheads by orders of magnitude. Our ext2 prototype runs in the Linux kernel and supports asynchronous writes, soft updates-like dependencies, and journaling. It outperforms similarly reliable ext2 and ext3 configurations on some, but not all, benchmarks. It also supports unusual configurations, such as correct dependency enforcement within a loopback file system, and lets applications define consistency requirements without micromanaging how those requirements are satisfied.
35
Marshall Kirk McKusick, William N. Joy, Samuel J. Leffler et al. · ACM Transactions on Computer Systems · 1984 · 748 citations · Full text
Venti: A New Approach to Archival Storage
Sean Quinlan, Sean Dorward · 2002 · 728 citations
File system design for an NFS file server appliance
Dave Hitz, James Y. Lau, Michael A. Malcolm · 1994 · 472 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
Application performance and flexibility on exokernel systems
M. Frans Kaashoek, Dawson Engler, Gregory R. Ganger et al. · 1997 · 287 citations