Release Notes for WebFS Alpha Release

Release Notes for WebFS Alpha Release

This document will act as a working user's manual for WebFS, a global file system allowing transparent access to the URL name space. WebFS is written as a loadable kernel module interfacing with the vnode layer. It has been tested to work with Solaris 2.4 running on Sparc Station 10's and 20's and Solaris 2.5 running on Ultrasparcs. The file system has been tested to work with a number of popular HTTP servers including NCSA servers version 1.4 and 1.5, Netscape's Commerce server 1.12, Apache version 1.1.1, and IBM's Planetwide Server.

Quick Startup Guide

The current release of WebFS will only be available on certain machines in the NOW cluster at UC Berkeley (currently u66). The file system will be mounted on a directory called /http on u66. If you like to learn by doing, log into a webfs machine and try the following commands:
cd /http
ls
cd now.cs.berkeley.edu
ls
/usr/now/bin/webfs_expand
ls
cd Glunix
ls
cat glunix.html
cd ..
ls
cd Images
ls
xv now0.jpg

The above sequence of operations will provide a feel for basic WebFS operation. There are some semantic differences between WebFS and standard UNIX file operation. The next section details these differences.

More Detailed Notes

The current release of WebFS only allows read-only access, and does not require any kernel or HTTP server modifications on the remote site. Future releases of WebFS will allow write access to sites running a WebFS server. Currently, the filesystem behave like a standard UNIX file other system. For example, one can run programs such as emacs, ghostview, and xv on files in remote directories. HTTP forces us to make a few compromises; the details are explained below.

Initially the contents of the directory will be empty. Entries are made "on the fly" as users attempt access to various web sites. For example, though the /http directory will initially be empty, users will be able to execute the command:

cd now.cs.berkeley.edu

Webfs will check to ensure that an http server is running on that machine and create that directory. From this point on, all users will be able to see the directory now.cs.berkeley.edu in the webfs hierarchy.

A notable aspect of the system is the nature of directory contents. Because of the limitations of HTTP, webfs cannot ascertain the contents of directories which contain a file called index.html. For example, doing an ls in the above now.cs.berkeley.edu directory will return a single entry, index.html. The existence of other directories can be inferred by looking at the index.html file (which makes reference to directories such as Glunix, Xfs, etc.), or by prior knowledge. If a user attempts a command of the form cd Glunix, the operation will check to see if such a directory exists, and create an entry on the fly.

To provide a workaround to the above, we provide a utility program webfs_expand (located in /usr/now/bin). This program takes a filename as an argument (defaults to index.html if no filename is provided) and parses the file, creating entries for all local directories referenced by that file. If webfs_expand is run on index.html in /http/now.cs.berkeley.edu, then entries for directories such as Glunix, Xfs, AM, WebOS, etc. would be created.


If you have any questions or comments, please send mail to Paul Eastham or Amin Vahdat.

Back to the WebOS Home Page.