Writing user-land file-systems for the BSDs
by Kristaps Johnson
Abstract
Writing a file-system is a difficult and time-consuming business. Every kernel, even among the BSDs, has a different way of operating upon file-system data. The nnpfs kernel device (part of the arla project and known as xfs on OpenBSD) exports these operations to a character device. This allows one to write generic user-land file-systems for supported platforms, including the BSDs, Linux and others.
We present xfsskel, demonstrating a simple "null"-like file-system that mounts a loopback file-system sub-tree. xfsskel is a complete, working application which also thoroughly documents the nnpfs interface. Further, we consider the strategies for building two complicated file-systems with nnpfs: sysjail-procfs (a procfs working with sysjailed virtual hosts) and rfs, a replicating file-system. All involved projects are fully open source; completed projects are on-line with sources available for download.
References:
arla (www.stacken.kth.se/project/arla) sysjail (sysjail.bsd.lv) xfsskel (sysjail.bsd.lv/xfsskel)
Author bio
Kristaps Dzonsons is the CTO of Gradient Enterprises, Inc., and also works privately and academically in the fields of computer science and mathematics. He wrote xfsskel to learn (and document) NNPFS toward writing rfs and sysjail-procfs.
Maikls Deksters works privately and academically to deploy and promote open source in Latvia. He is also co-ordinating the 2006 Pike conference in Riga, and provides project management to xfsskel and other open source projects.
go back to the schedule










