The layers are coming, the layers are coming
(an abstract)

Erez Zadok

Appeared in the 2008 Linux Storage and Filesystem Workshop, co-located with USENIX FAST (February 2008)

There is one layered (stackable) file system in mainline; eCryptfs. Another file system, Unionfs, is in -mm, with many users and several distros using it. Also, there are over a dozen other stackable file systems developed for Linux which have been getting some use over the past years: gzipfs, tracefs/replayfs, antivirusfs, n/crypfs, versionfs, i3fs, cachefs, and more. See www.filesystems.org. With the increase in both the number and the popularity of layered file systems, several shortcomings in the Linux VFS/MM API have become apparent. Furthermore, there is a significant overlap in functionality among the existing layered file systems. This presents an opportunity to consolidate much of the layered file system code into the VFS/MM API.

This position statement is that the VFS and MM should be enhanced to better support layered file systems. We consider mainline adoption of these solutions to be feasible in a 1-2 year time frame. Erez Zadok and Mike Halcrow met in person in October 2007 and outlined a few such problems and possible solutions (some of those solutions were tested briefly). We believe that these solutions can be reach mainline easily within 1-2 years. We would like to discuss those problems and the possible solutions at LSF'08 and hopefully reach a consensus among the attendees as to which approaches are the most suitable. Along with the description of each problem, we plan on presenting actual sample code snippets.

Examples of existing deficiencies include the following:

In this talk we discuss some issues that relate to developing stackable file systems in the Linux kernel, and propose solutions for them.