Stackable File System Development in User Land

Not everyone can or want to develop file systems in the kernel. Developing them in Userland is easier but userland file systems suffer from performance problems. Some develop userland file systems using a userland NFS server, much the way automounters such as Amd work. Others develop file systems using LUFS. It also has limitations.

In this project we develop a stackable file system that allows you to control which VFS operations are passed to userland. This way we only pass the operations that are needed and no more. We also control how much information we pass to userland (just file name, just operation, full directory pathname, etc.). Again, this is designed to reduce the amount of data that needs to be copied to userland. For further efficiency, we communicate with a userland component using either user/kernel shared memory or the Linux netlink socket. In userland, we have a library wrapper can be integrated into any application, and daemon driver that can act as a file server. With these tools, users can experiment with file system extensions without having to know kernel internals or become file system hackers.

Journal Articles:

# Title (click for html version) Formats Published In Date Comments
1 Performance and resource utilization of fuse user-space file systems PDF BibTeX ACM Transactions on Storage (TOS) May 2019 FUSE Article Online Appendices

Conference and Workshop Papers:

# Title (click for html version) Formats Published In Date Comments
1 Terra Incognita: On the Practicality of User-Space File Systems PDF BibTeX 7th USENIX Workshop in Hot Topics in Storage and File Systems (HotStorage 2015) Jul 2015  

Past Students:

# Name (click for home page) Program Period Current Location
1 Swaroop Karunakara MS Sep 2002 - Dec 2003 Manager, Sustaining Engineering, NetApp (Bangalore, India)
2 Devaki Kulkarni MS Sep 2003 - Dec 2004 Staff Engineer, Performance and Storage groups, VMware, Inc. (Palo Alto, CA)