File-system development with stackable layers

John S. Heidemann, Gerald J. Popek
1994 ACM Transactions on Computer Systems  
Filing services have experienced a number of innovations in recent y ears, but many of these promising ideas have failed to enter into broad use. One reason is that current ling environments present several barriers to new development. For example, le systems today t ypically stand alone instead of building on the work of others, and support of new ling services often requires changes which i n validate existing work. Stackable le system design addresses these issues in several ways. Complex
more » ... g services are constructed from layer building blocks", each of which m a y be provided by independent parties. There are no syntactic constraints to layer order, and layers can occupy di erent address spaces, allowing very exible layer con guration. Independent l a yer evolution and development is supported by an extensible interface bounding each layer. This paper discusses stackable layering in detail and presents design techniques it enables. We describe an implementation providing these facilities that exhibits very high performance. By lowering barriers to new ling design, stackable layering o ers the potential of broad third party le system development not feasible today.
doi:10.1145/174613.174616 fatcat:wjesxmexrrbopmbj5zaj5s65rq