Portable Userspace Virtual Filesystem Switch - Faber, Łukasz; Boryczko, Krzysztof (Computer Science, 2013)
Multiple different filesystems — including disk-based, network, distributed, abstract — arean integral part of every operating system. They are usually written as kernel modules and abstracted to the user via a virtual filesystem switch. In this paper we analyse the feasibility of reimplementing the virtual filesystem switch as a userspace daemon and applicability of this approach in real-life usage. Such reimplementation will require a way to virtualise processes behaviour related to filesystem operations. The problem is non-trivial, as we assume limited capabilities of the VFS switch implemented in userspace. We present a layered architecture comprising of a monitoring process, the VFS abstraction and real filesystem implementations. All working in userspace. Then, we evaluate this solution in four areas: portability, feasibility, usability and performance. Our results demonstrate possible gains in using the userspace-based approach with monolithic kernels, but also underline problems that are encountered in this approach.