xfsskel

XFS, now known as NNPFS, is a generic interface for receiving kernel file-system operations in the userland. It's part of Arla, a "free AFS implementation". These documents describe a simple implementation of NNPFS to provide developers reference material for their own file-systems.

This documentation is not associated with SGI's XFS, Berkeley's xFS or any non-Arla projects. The author of this document is not formally associated with the arla project.

The skeleton NNPFS [1] implementation, xfsskel, provides a source code perspective to this documentation. xfsskel sources may be viewed online or the sources download and perused off-line:

xfsskel exports the root file-system to the NNPFS mount-point. Its purpose is to demonstrate the application of NNPFS concepts, not to provide a useful file-system or modular, re-usable code. It was developed under OpenBSD and will probably fail to compile on other systems due to header and structure name mismatch (see Footnote 1 for details).

Running xfsskel.
prompt$ sudo mount_xfs /dev/xfs0 /mnt/xfs0 prompt$ sudo xfsskel & prompt$ cd /mnt/xfs0/ && ls -F altroot/ bin/ boot bsd dev/ ...
Figure 1: code block

Documentation table of contents:

  1. Debugging
    1. Enabling
    2. Requesting
  2. Kernel Messages
    1. Contents
    2. Getting
    3. Sending
    4. Acknowledging
  3. Nodes
    1. Structures
    2. Installation
    3. Requests
    4. Invalidation
  4. Data
    1. Initialising
    2. Transferring
  5. Requests
    1. To NNPFS
    2. From NNPFS
    3. To/From NNPFS
  6. Common Fields
    1. Tokens
    2. Credentials
    3. Rights
  7. Source Documentation

xfsskel and this documentation were authored by Kristaps Johnson, Rīga, Latvija. Please contact him with bug-reports and additions.

All sources and documentation are available under the BSD three-part license. See the LICENSE file in the source distribution for details.

Many thanks to the arla-drinkers mailing list for their help, especially Tomas, who provided explanations for some of NNPFS's Eleusinian mysteries.

News bulletins:

  • 19.07.2006
    Fixes to the "Data" section and cleaned-up token handling in the sources. Formatting fixes for IE CSS issues. (0.2.1)
  • 17.07.2006
    Significant documentation upgrades. (0.2.0)
  • 13.07.2006
    Initial public release. (0.1.0)

[1] Note that this document is concerned with NNPFS_VERSION 18. Further, it assumes OpenBSD's distribution of NNPFS (known therein as XFS), which puts relevant definitions in xfs/xfs_message.h and xfs/xfs_attr.h. Modern distributions of NNPFS differ in device, include-file, structure and macro names. Beyond naming issues, differences between this version and the current version and mentioned throughout the documentation.

Because arla was developed in Sweden, I've included a translation of these documents in Sweedish (Chef).

 

$Id: index.html,v 1.14 2006/07/20 20:32:14 kristaps Exp $