ACM Transactions on Computer Systems (TOCS)
A cryptographic file system for UNIX
CCS '93 Proceedings of the 1st ACM conference on Computer and communications security
File-system development with stackable layers
ACM Transactions on Computer Systems (TOCS) - Special issue on operating systems principles
Performance of cache coherence in stackable filing
SOSP '95 Proceedings of the fifteenth ACM symposium on Operating systems principles
Solaris MC File System Framework
Solaris MC File System Framework
TCON'95 Proceedings of the USENIX 1995 Technical Conference Proceedings
User-Level Extensibility in the Mona File System
Proceedings of the FREENIX Track: 2001 USENIX Annual Technical Conference
Fast Indexing: Support for Size-Changing Algorithms in Stackable File Systems
Proceedings of the General Track: 2002 USENIX Annual Technical Conference
Enhancing NFS Cross-Administrative Domain Access
Proceedings of the FREENIX Track: 2002 USENIX Annual Technical Conference
Streaming extensibility in the modify-on-access file system
Journal of Systems and Software
On incremental file system development
ACM Transactions on Storage (TOS)
Cosy: develop in user-land, run in kernel-mode
HOTOS'03 Proceedings of the 9th conference on Hot Topics in Operating Systems - Volume 9
FiST: a language for stackable file systems
ATEC '00 Proceedings of the annual conference on USENIX Annual Technical Conference
Swarm: a log-structured storage system for Linux
ATEC '00 Proceedings of the annual conference on USENIX Annual Technical Conference
Generalized file system dependencies
Proceedings of twenty-first ACM SIGOPS symposium on Operating systems principles
A nine year study of file system and storage benchmarking
ACM Transactions on Storage (TOS)
The case for active block layer extensions
ACM SIGOPS Operating Systems Review
Alcatraz: An Isolated Environment for Experimenting with Untrusted Software
ACM Transactions on Information and System Security (TISSEC)
Steps toward managing lineage metadata in grid clusters
TAPP'09 First workshop on on Theory and practice of provenance
ATTEST: ATTributes-based Extendable STorage
Journal of Systems and Software
Mendel: efficiently verifying the lineage of data modified in multiple trust domains
Proceedings of the 19th ACM International Symposium on High Performance Distributed Computing
ECFS: An Enterprise-Class Cryptographic File System for Linux
International Journal of Information Security and Privacy
ViewBox: integrating local file systems with cloud storage services
FAST'14 Proceedings of the 12th USENIX conference on File and Storage Technologies
Hi-index | 0.00 |
Extending file system functionality is not a new idea, but a desirable one nonetheless[6, 14, 18]. In the several years since stackable file systems were first proposed, only a handful are in use[12, 19]. Impediments to writing new file systems include the complexity of operating systems, the difficulty of writing kernel-based code, the lack of a true stackable vnode interface[14], and the challenges of porting one file system to another operating system. We advocate writing new stackable file systems as kernel modules. As a starting point, we propose a portable, stackable template file system we call Wrapfs (wrapper file system). Wrapfs is a canonical, minimal stackable file system that can be used as a pattern across a wide range of operating systems and file systems. Given Wrapfs, developers can add or modify only that which is necessary to achieve the desired functionality. Wrapfs takes care of the rest, and frees developers from the details of operating systems. Wrapfs templates exist for several common operating systems (Solaris, Linux, and FreeBSD), thus alleviating portability concerns. Wrapfs can be ported to any operating system with a vnode interface that provides a private data pointer for each data structure used in the interface. The overhead imposed by Wrapfs is only 5-7%. This paper describes the design and implementation of Wrapfs, explores portability issues, and shows how the implementation was achieved without changing client file systems or operating systems. We discuss several examples of file systems written using Wrapfs.