Suggested Exercises

Because the filesystem presents only a basic set of operations, there are several things that can be added to increase functionality. There are also several bugs that exist in the filesystem as it stands that could be fixed. This section contains numerous different exercises that readers can follow either to simply experiment with the filesystem as is or to add additional capabilities.

Simply playing with the filesystem, compiling kernels, and using one of the kernel level debuggers is a significant amount of work in itself. Don't underestimate the amount of time that it can take to achieve these tasks. However, the amount of Linux support information on the World Wide Web is extremely good, so it is usually reasonably easy to find answers to most Linux-related questions.

Beginning to Intermediate Exercises

The exercises in this section can be made to the existing filesystem without changing the underlying disk layout. Some of these exercises involve careful anaysis and some level of testing.

  1. What is significant about the uxfs magic number?
  2. As a simple way of analyzing the filesystem when running, the silent argument to ux_read_super() can be used to enable debugging. Add some calls to printk() to the filesystem, which are only activated when the silent option is specified. The first step is to determine under what conditions the silent flag is set. The ux_read_super() function provides one example of how silent is used.
  3. There are several functions that have ...

Get UNIX Filesystems: Evolution, Design, and Implementation now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.