Skip to content

Durability Guarantees and Fsync

Data is not durable until it reaches stable storage; operating system and hardware caches create multiple layers where data can be lost, requiring explicit flush operations to guarantee persistence.

Tension Addressed

Durability vs. Performance

Recognizable As

Fsync/fdatasync calls, "sync" mount options, database durability settings, battery-backed write caches, any discussion of "committed" vs "acknowledged"

Canonical Sources

Pillai et al., "All File Systems Are Not Created Equal" (2014); Zheng et al., "Understanding the Robustness of SSDs under Power Fault" (2013)

Transfers To

Database configuration, message queue acknowledgments, distributed consensus commit protocols, any system requiring crash consistency

The chain of buffers (application, OS, device controller) means "write returned" does not mean "data is safe." Understanding this explains why durability guarantees are expensive.