Force Unit Access
Force Unit Access is a write-request property requiring the flagged data to reach nonvolatile storage before that request is reported complete.
Linux represents this requirement with REQ_FUA. It is distinct from REQ_PREFLUSH, which makes earlier completed writes persistent before the accompanying I/O begins; FUA alone is not that ordering guarantee. The flags can be combined. For devices without native FUA, Linux can implement the requirement with a post-write flush. The name describes completion semantics, not a universal physical bypass of every cache or a guarantee that a multi-block write is atomic.
Relations
- related
- cache-flush, write-back-cache, write-through-cache, persistence-ordering, power-loss-protection
Advantages
- Allows persistence to be required for a specific write's completion. [1]
Limitations
- Does not replace the preflush guarantee for previously completed writes. [1]