Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
block: Introduce the REQ_FLUSH_IS_BARRIER flag
A new feature in the UFS 4.0 specification is support for the BARRIER command. This command can be used to enforce the command order without enforcing durability. This is useful to implement transactions if it is acceptable that some transactions are rolled back if a power failure occurs. The intended use of this feature is as follows: - The host waits for all pending write operations to complete. - A barrier operation is submitted (REQ_OP_FLUSH | REQ_FLUSH_IS_BARRIER). - After the barrier operation completes, more write operations are submitted. The advantages of this approach compared to the previous block layer barrier implementation are as follows: - The new approach is compatible with reordering in the block layer. - The new approach is compatible with blk-mq. See also "block: replace barrier with sequenced flush", LWN.net, 2010 (https://lwn.net/Articles/399715/). Signed-off-by: Bart Van Assche <bvanassche@acm.org>
- Loading branch information