Filesystems · Cluster
Journaling and Copy-on-Write
Ordering guarantees and metadata updates.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.