This isn't the first book I have read that covers Unix file systems. All the standard Unix implementation (e.g., Bach (SVR2), McKusick et al (BSD)) and OS design books (e.g, Tanenbaum (Minux)) have something to say about file system design. But this book is different, in that it provides a broad yet focused coverage of a large number of Unix based file systems, starting back with the AT&T research edition as a foundation, and building upon the discussion with looks at Sun VFS, UFS, FFS, Minux, and Linux. The writing is detailed, and clear, and there is a good number of figures and code listings that help explain the concepts.
The best thing about the book, however, is the source code for a Linux filesystem named uxfs. Reading the text and studying the source code (in the book, or via download) really helps make the topics discussed in the book clear. The author does a decent job of describing the uxfs source code, and shares some tips on how to approach compiling a kernel, and the filesystem source, and using gdb to set breakpoints so that one can investigate how the Linux kernel is calling into the filesystem through all the major entry points. Even if you don't give a hoot about filesystem design, its a great example of how to understand a complex system that you might not otherwise have a clue how to approach -- set breakpoints on the major entry points, look at the stack, and then read the code up the stack to see what is going on. Understanding uxfs is a great start to understanding more complicated filesystems in Linux for sure, and less directly, other Unix-based file systems as well.
Along with uxfs the author provides a set of easy, and advanced exercises. The one that looks like the most fun to me is modifying uxfs to support an inode structure that uses direct, single indirect, double indirect, and triple indirect blocks (described in Maurice Bach's book and elsewhere).
In summary, if your basic operating system book's coverage of Unix filesystems is not enough, or you want a gentle and complete introduction to designing a Linux filesystem, consider reading this book.