Now, in early 2003, we have almost an embarrassment of riches. ext3 and reiserfs are here and reasonably mature. XFS from SGI and JFS from IBM have arrived and are integrated in the development kernels at least. We even have reiser4 on the horizon which promises all sorts of interesting things.
Against this back drop one might wonder why anyone would want to create yet another filesystem as this paper proposes. Is there not enough choice already? and would not any effort in filesystem development better be used in supporting one of the existing projects?
My answer to this is ``No''. While it may seem that we have a wide selection of fairly general purpose filesystems, the fact is that they all have a particular focus and don't necessarily try to meet every need.
Ext3 is very significantly an extension of ext2. That fact that the on-disc structure is compatible with ext2, and that the wealth of experience with ext2 can equally apply to ext3, and that the very well war-hardened e2fsck works equally on ext3 are all very strong motivators towards using ext3, and also are chains that limit the enhancement of ext3 to take advantage of new ideas in filesystem technology.
Reiserfs appears to have a strong emphasis on efficient handling of small files and large directories. XFS has a particular emphasis on very high data throughput as needed by for multimedia applications, as well as compatibility with an established base of IRIX systems. JFS I am less familiar with, but while it, like the others, is a well rounded and very usable filesystem, there are certain features that I would like to see in a filesystem that are not present in these.
The particular focus for the filesystem described in this paper is to be a filesystem for a departmental file server, particularly a file server which serves the NFS file access protocol. The core technology used for this filesystem is the concept of a log-structured filesystem (LFS).
The remainder of this paper will give a brief overview of a log structured filesystem, and then present some particular needs that the departmental fileserver has, and show how they can be met using the log structured filesystem. Not all needs require the specific characteristics of a LFS (though many do) but all are beneficial in the particular context and are not generally available elsewhere.