Lines Matching +full:cache +full:- +full:block
2 Explicit volatile write back cache control
6 ------------
10 operating system before data actually has hit the non-volatile storage. This
12 system needs to force data out to the non-volatile storage when it performs
15 The Linux block layer provides two simple mechanisms that let filesystems
17 a forced cache flush, and the Force Unit Access (FUA) flag for requests.
20 Explicit cache flushes
21 ----------------------
24 the filesystem and will make sure the volatile cache of the storage device
26 guarantees that previously completed write requests are on non-volatile
28 set on an otherwise empty bio structure, which causes only an explicit cache
30 the blkdev_issue_flush() helper for a pure cache flush.
34 ------------------
38 signaled after the data has been committed to non-volatile storage.
42 --------------------------------------
45 worry if the underlying devices need any explicit cache flushing and how
50 Implementation details for bio based block drivers
51 --------------------------------------------------------------
57 drivers that do not have a volatile cache the REQ_PREFLUSH and REQ_FUA bits
58 on non-empty bios can simply be ignored, and REQ_PREFLUSH requests without
61 flags themselves without any help from the block layer.
64 Implementation details for request_fn based block drivers
65 ---------------------------------------------------------
68 support required, the block layer completes empty REQ_PREFLUSH requests before
71 driver needs to tell the block layer that it supports flushing caches by
74 blk_queue_write_cache(sdkp->disk->queue, true, false);
78 of an empty REQ_OP_FLUSH request followed by the actual write by the block
79 layer. For devices that also support the FUA bit the block layer needs
82 blk_queue_write_cache(sdkp->disk->queue, true, true);
85 in prep_fn/request_fn. If the FUA bit is not natively supported the block