Next:
List of Figures
Up:
A File System Component
Previous:
A File System Component
Contents
Contents
List of Figures
List of Tables
1. Introduction
1.1 The Problem
1.2 My Solution
1.3 Advantages of My Solution
1.4 Organization of this Proposal
2. Background
2.1 Types of File Systems
2.2 The Vnode Interface
2.3 Barriers to File System Experimentation
2.4 FiST
3. Mechanisms for Interposition and Composition
3.1 Interposition API
3.2 Creating Links Among Vnodes
3.3 Using Links Among Vnodes
3.4 Composition
3.5 Private VFS State
3.6 Status of Current Implementation
3.7 User Level Operation
4. The FiST Language
4.1 Motivations for the FiST Language
4.2 Language Requirements
4.3 Translator Requirements
4.4 FiST Vnode Attributes
4.5 FiST Vnode Functions
4.6 Variables
4.7 Filters
4.8 Language Syntax
4.9 File System Types
4.10 User Level File Systems
5. Evaluation Plan
5.1 Criteria for Success
5.2 Experiments
5.3 Lessons to be Learned
6. Related Work
6.1 HURD
6.2 Plan 9
6.3 Programmed Logic Corp.'s StackFS
6.4 Spring
6.5 4.4 BSD's nullfs
7. Summary
8. Appendix: Vnode Interface Tutorial
8.1
struct vfs
8.2
struct vfsops
8.3
struct vnode
8.4
struct vnodeops
8.5 How It All Fits
9. Appendix: Typical Stackable File Systems
9.1 Stateless File Systems
9.2 In-Core File Systems
9.3 Persistent File Systems
10. Extended Examples Using FiST
10.1 Crossfs: A Stateless File System
10.2 Gzipfs: An In-Core File System
10.3 Replicfs: A Persistent File System
11. Appendix: Wrapfs Mount Code
12. Appendix: Portability Using Autoconf
12.1 Portability Solutions
12.2 An Example Using Autoconf
Bibliography
Erez Zadok
1999-12-07