Skip to main navigation Skip to search Skip to main content

FiST: A language for stackable file systems

  • Columbia University

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

92 Scopus citations

Abstract

Traditional file system development is difficult. Stackable file systems promise to ease the development of file systems by offering a mechanism for incremental development. Unfortunately, existing methods often require writing complex low-level kernel code that is specific to a single operating system platform and also difficult to port. We propose a new language, FiST, to describe stackable file systems. FiST uses operations common to file system interfaces. From a single description, FiST’s compiler produces file system modules for multiple platforms. The generated code handles many kernel details, freeing developers to concentrate on the main issues of their file systems. This paper describes the design, implementation, and evaluation of FiST. We extended file system functionality in a portable way without changing existing kernels. We built several file systems using FiST on Solaris, FreeBSD, and Linux. Our experiences with these examples shows the following benefits of FiST: average code size over other stackable file systems is reduced ten times; average development time is reduced seven times; performance overhead of stacking is 1–2%.

Original languageEnglish
Title of host publication2000 USENIX Annual Technical Conference
PublisherUSENIX Association
ISBN (Electronic)1880446227, 9781880446225
StatePublished - 2000
Event2000 USENIX Annual Technical Conference: General Track, USENIX ATC 2000 - San Diego, United States
Duration: Jun 18 2000Jun 23 2000

Publication series

Name2000 USENIX Annual Technical Conference

Conference

Conference2000 USENIX Annual Technical Conference: General Track, USENIX ATC 2000
Country/TerritoryUnited States
CitySan Diego
Period06/18/0006/23/00

Fingerprint

Dive into the research topics of 'FiST: A language for stackable file systems'. Together they form a unique fingerprint.

Cite this