"This is a lightly modified version of a couple of articles
published in Novática (Spanish) and Upgrade (English) where
we explain the implementation of all journaling file systems
available for Linux."
Ricardo Galli includes, in a plain manner, basics,
characteristics and implementation of the Linux Virtual File
System, Linux Page-cache and Buffer-cache, integration of page and
buffer cache, journaling file systems, B-Trees, ReiserFS, XFS, JFS,
Ext3, performance and conclusions, including several links to
resources and benchmarks.