Breaking Apart the VFS for Managing File Systems
Breaking Apart the VFS for Managing File Systems Kuei Sun, Matthew Lakier, Angela Demke Brown and Ashvin Goel, University of Toronto 10 th {USENIX} Workshop on Hot Topics in Storage and File Systems (Hot. Storage 18)
Outline • Introduction • Motivation • Approach • Evaluation • Conclusion
Introduction(1/1) A virtual file system (VFS) is programming that forms an interface between an operating system's kernel and a more concrete file system.
Outline • Introduction • Motivation • Approach • Evaluation • Conclusion
Motivation(1/2) • 1. Our goal is to design an interface that allows these management applications to be written once and be usable for all file systems that support the interface. • 2. Development requires significant engineering effort: • Ex: Need detailed knowledge of file system format
Motivation(2/2) • 3. Applications have to be developed from scratch for each file system • Ex: Each file system has its own set of data structures.
Outline • Introduction • Related work • Approach • Evaluation • Conclusion
Approach(1/5)
Approach(2/5)
Approach(3/5)
Approach(4/5) • Inodes: The e. VFS interface thus provides support for allocating and updating an inode. • Blocks and Extents: To allocate blocks and extents, applications need to know the locations and sizes of free spaces. we abstract away the filesystem specific details and provide a function that enables applications to iterate through all free space extents in a file system, without needing to know the format of the file system. • Directory Entries: The interface supports adding, updating, or removing individual directory entries, as well as iterating through the entries of a directory inode.
Approach(5/5) • File-System Wide Settings: It allows updating simple settings such as labels or file system feature flags that do not require restructuring the file system. • Transactions: The interface also provides transactional support to ensure atomicity so that other applications do not see partial updates made by management applications.
Outline • Introduction • Motivation • Approach • Evaluation • Conclusion
Evaluation(1/2)
Evaluation(2/2)
Outline • Introduction • Motivation • Approach • Evaluation • Conclusion
Conclusion • The e. VFS interface exposes a new, low-level file system abstraction that enables control over allocation and modification of file system objects and the mappings between them. • The application requires no changes to support a file system that implements the e. VFS interface
Thank you for listening
- Slides: 18