UBC Theses and Dissertations

UBC Theses Logo

UBC Theses and Dissertations

Migration of WAFL to BSD Reddy, Sreelatha S.

Abstract

The UNIX kernel has been around for quite some time. Considering this time factor, we realise that compared to the other components of the operating system, the filesystem has yet to see the implementation of novel and innovative features. However, filesystem research has continued for other kernels. The Write Anywhere File Layout filesystem developed at Network Appliance has been proved to be a reliable and new filesystem with its ability to take snaphots for backups and to schedule consistency points for fast recovery. WAFL has been built as a filesystem component in the ONTAP kernel which runs on the NFS filer. WAFL has been optimized for the ONTAP environment. The ONTAP kernel differs considerably from the FreeBSD kernel. ONTAP is an appliance operating system optimized for fast NFS service while the FreeBSD kernel is a general-purpose operating system. There exist architectural and semantic distinctions in the design of the two kernels. This thesis was essentially an attempt to bridge these differences by integrating WAFL into FreeBSD. We focus more on the design issues and the problems encountered during the migration of WAFL from its old environment to its new environment, rather than performance. By introducing the ONTAP WAFL to FreeBSD, we are interested in knowing how WAFL would fare in the BSD kernel given that the BSD and ONTAP kernels are quite different. We also want to see how WAFL performs as compared to FFS, the local filesystem in the FreeBSD kernel. In this thesis, we describe the design and implementation issues encountered while porting the WAFL filesystem to the BSD kernel. The implementation has been carried out in the current version of the FreeBSD 4.0 kernel.

Item Media

Item Citations and Data

Rights

For non-commercial purposes only, such as research, private study and education. Additional conditions apply, see Terms of Use https://open.library.ubc.ca/terms_of_use.

Usage Statistics