Skip to main navigation Skip to search Skip to main content

On incremental file system development

  • Erez Zadok
  • , Rakesh Iyer
  • , Nikolai Joukov
  • , Gopalan Sivathanu
  • , Charles P. Wright
  • Stony Brook University
  • IBM

Research output: Contribution to journalArticlepeer-review

34 Scopus citations

Abstract

Developing file systems from scratch is difficult and error prone. Using layered, or stackable, file systems is a powerful technique to incrementally extend the functionality of existing file systems on commodity OSes at runtime. In this article, we analyze the evolution of layering from historical models to what is found in four different present day commodity OSes: Solaris, FreeBSD, Linux, and Microsoft Windows. We classify layered file systems into five types based on their functionality and identify the requirements that each class imposes on the OS. We then present five major design issues that we encountered during our experience of developing over twenty layered file systems on four OSes. We discuss how we have addressed each of these issues on current OSes, and present insights into useful OS and VFS features that would provide future developers more versatile solutions for incremental file system development.

Original languageEnglish
Pages (from-to)161-196
Number of pages36
JournalACM Transactions on Storage
Volume2
Issue number2
DOIs
StatePublished - May 2006

Keywords

  • Extensibility
  • I/O manager
  • IRP
  • Layered file systems
  • Stackable file systems
  • VFS
  • Vnode

Fingerprint

Dive into the research topics of 'On incremental file system development'. Together they form a unique fingerprint.

Cite this