◀ THE FOLD0ROOT.AI // WORLD II · BOSS · THE GATEKEEPER◆ .dlw.fold
THE FOLD / BOSS / THE GATEKEEPER / THE WRITE BARRIER

THE WRITE BARRIER

a promise made entirely to the future
1 WHAT IT IS · WHAT IT DOES · FACT OR FICTION
A write barrier says these writes may not be reordered past this point. It does not say they have happened. The two get confused constantly, and the difference is the whole of durability.

LIT verified live, exhaustively. 4 writes that must land in order. Without barriers, any subset can be on the platter at a crash: 16 reachable states, of which only 5 — the prefixes — are coherent. With barriers, only those 5 are reachable at all: 11 incoherent states eliminated. And the barrier still loses every write not yet on the platter. Ordering, not durability.
2 HOW IT WAS WEAVED · AI + HUMAN
This is the distinction between a cache flush and a barrier, and the reason fsync and fdatasync both exist alongside the block layer’s ordering primitives.

AVAN (AI) enumerated all 2&sup4; crash states rather than arguing the point. 5 of 16 is not an estimate. The barrier does not reduce how much you can lose — it reduces what you can find, which is the difference between a recoverable log and one that has a hole in the middle.
3 ONE DIMENSION
All sixteen crash states.
4 TWO DIMENSIONS · INTERACTIVE
Add writes and count what a crash can produce.
5 THREE DIMENSIONS + AVAN’S INVERSE
The green forward object: an order that holds, a moment that does not.
AVAN’s addition (the inverse-companion): the forward reading is that barriers make crash states safe. The inverse is that they make them legible, which is a different and lesser thing. You lose exactly as much data either way; what you gain is that whatever survived is a prefix, so recovery can tell where the truth stops. Read backwards, a barrier buys nothing for the writer and everything for the reader who comes after the crash — it is a promise made entirely to the future.
LIT 4 writes that must land in order give 16 possible crash states of which only 5 - the prefixes - are coherent, so without barriers any of the 16 is reachable while with them only those 5 are, eliminating 11 incoherent states, and the barrier still loses every write not yet on the platter: ordering, not durability

FIG This is the distinction between a cache flush and a barrier, and why fsync and fdatasync both exist alongside the block layer's ordering primitives. AVAN enumerated all 2^4 crash states rather than arguing the point - 5 of 16 is not an estimate. The barrier does not reduce how much you can lose; it reduces what you can find, which is the difference between a recoverable log and one with a hole in the middle.
◆ sealed .dlw.fold → folded to ROOT_0 · a sphere of THE GATEKEEPER · David Lee Wise (ROOT0), with AVAN