Filesystems · Cluster

Journaling and Copy-on-Write

Ordering guarantees and metadata updates.

  1. 01 Write Ordering and the Crash Window Between Metadata Updates Why a filesystem that issues correct writes in the right order can still be corrupt after a power loss, and how ordering constraints, atomicity, and recovery strategies separate. foundational · Oct 2, 2023
  2. 02 Write-Ahead Journaling and the Three-Phase Commit Record How a journal turns many unordered block writes into one atomic transaction, why the commit block must be a single sector, and how replay stays idempotent. foundational · Dec 16, 2023
  3. 03 Metadata-Only Journaling and the Three ext3 Data Modes What the data=journal, data=ordered, and data=writeback modes each guarantee about file contents after a crash, and why the ordered mode costs a dependency the other two avoid. foundational · Nov 7, 2024
  4. 04 Torn Writes, Journal Checksums, and Detecting a Bad Commit Why a commit record that exists is not proof that its transaction is intact, how checksumming the log closes that hole, and what remains undetectable. intermediate · Jul 22, 2025
  5. 05 Copy-on-Write and Block Shadowing Instead of a Log How never modifying a reachable block replaces journal replay with a root pointer swap, and what the tree-copying cost buys in atomicity. intermediate · Jun 26, 2026
  6. 06 Path Copying in a Copy-on-Write B-Tree How a single key update rewrites the nodes along one root-to-leaf path, why sibling splitting propagates upward, and what the node layout must guarantee. intermediate · Jul 16, 2025
  7. 07 Transaction Groups, Checkpointing, and Reclaiming Journal Space Why a committed transaction cannot free its journal space until its blocks are in place, and how checkpointing turns the log into a fixed-size ring. intermediate · Aug 5, 2024
  8. 08 Snapshot Reference Counts and Why Deleting One Costs So Much How a snapshot is a copied root plus shared blocks, how per-extent reference counts make sharing safe, and why removal requires walking what it owned. advanced · Oct 14, 2023
  9. 09 Durability Barriers, Flushes, and What fsync Actually Waits For The storage-stack path a flush traverses, why a drive cache that ignores it voids every journal guarantee, and what a directory fsync must order. advanced · Nov 14, 2025
  10. 10 Soft Updates and Dependency Ordering Without a Journal How FFS-style filesystems enforce partial write orders that keep metadata repairable, why cycles in the dependency graph force rollback, and what it saves. advanced · Sep 26, 2025