Storage cache flush
A storage cache flush requests persistence of writes buffered in the addressed storage stack, with its coverage and ordering defined by that interface.
In the Linux block layer, REQ_PREFLUSH makes previously completed writes persistent before an accompanying I/O starts; it can also be issued without a data payload. REQ_FUA instead covers persistence of the flagged write before its completion, and both flags may be combined. This block-level operation does not submit data still held only in an application buffer or establish multi-file transaction atomicity. Device-mapper layers must propagate the required persistence semantics.
Relations
- related
- force-unit-access, write-back-cache, write-through-cache, fsync, persistence-ordering
Advantages
- Provides a persistence boundary for earlier completed writes in a stack that honors the request. [1]