On incremental file system development

  • Authors:
  • Erez Zadok;Rakesh Iyer;Nikolai Joukov;Gopalan Sivathanu;Charles P. Wright

  • Affiliations:
  • Stony Brook University, Stony Brook, NY;Stony Brook University, Stony Brook, NY;Stony Brook University, Stony Brook, NY;Stony Brook University, Stony Brook, NY;IBM T. J. Waston Research Center, Yorktown Heights, NY

  • Venue:
  • ACM Transactions on Storage (TOS)
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

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.