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.

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)


(Last updated: Mon Feb 28 23:40:12 EST 2011)