Skip to main navigation Skip to search Skip to main content

Extending file systems using stackable templates

  • Columbia University

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

40 Scopus citations

Abstract

Extending file system functionality is not a new idea, but a desirable one nonetheless[6, 14, 18]. In the several years since stackable file systems were first proposed, only a handful are in use[12, 19]. Impediments to writing new file systems include the complexity of operating systems, the difficulty of writing kernel-based code, the lack of a true stackable vnode interface[14], and the challenges of porting one file system to another operating system. We advocate writing new stackable file systems as kernel modules. As a starting point, we propose a portable, stackable template file system we call Wrapfs (wrapper file system). Wrapfs is a canonical, minimal stackable file system that can be used as a pattern across a wide range of operating systems and file systems. Given Wrapfs, developers can add or modify only that which is necessary to achieve the desired functionality. Wrapfs takes care of the rest, and frees developers from the details of operating systems. Wrapfs templates exist for several common operating systems (Solaris, Linux, and FreeBSD), thus alleviating portability concerns. Wrapfs can be ported to any operating system with a vnode interface that provides a private data pointer for each data structure used in the interface. The overhead imposed by Wrapfs is only 5-7%. This paper describes the design and implementation of Wrapfs, explores portability issues, and shows how the implementation was achieved without changing client file systems or operating systems. We discuss several examples of file systems written using Wrapfs.

Original languageEnglish
Title of host publicationProceedings of the 1999 USENIX Annual Technical Conference
PublisherUSENIX Association
ISBN (Electronic)1880446332, 9781880446331
StatePublished - 1999
Event1999 USENIX Annual Technical Conference, USENIX ATC 1999 - Monterey, United States
Duration: Jun 6 1999Jun 11 1999

Publication series

NameProceedings of the 1999 USENIX Annual Technical Conference

Conference

Conference1999 USENIX Annual Technical Conference, USENIX ATC 1999
Country/TerritoryUnited States
CityMonterey
Period06/6/9906/11/99

Fingerprint

Dive into the research topics of 'Extending file systems using stackable templates'. Together they form a unique fingerprint.

Cite this