fsync() Durability

fsync() Durability

This animation shows why a successful write call is not the same thing as a durable write. It follows fsync() from a Go goroutine through a Unix-like system such as Linux: application memory, kernel page cache, device-side buffering, the SSD controller, and toward NAND gates where data becomes durable. It is not an exhaustive model of every filesystem, drive cache, barrier, or operating-system edge case; it is the mental model needed for a WAL durability contract.