Write-around cache
Write-around caching sends writes to the backing store without retaining their payload in the cache, while reads may still use or populate it.
In Linux 6.12 bcache, writearound selects write bypass and invalidates affected cached mappings. Read fills remain subject to the implementation's bypass and insertion rules. [1] [2]
Changing mode does not certify that earlier dirty data has drained. [5] A write overlapping dirty data already undergoing background writeback can still take the write-back path. [2]
The policy differs from dm-cache passthrough, which serves all reads from the origin and requires a clean cache. Neither name establishes end-to-end power-loss durability; lower-layer volatile caches still need the applicable persistence protocol. [3] [4]
Relations
- related
- Write-back cache, Write-through cache, Cache admission, Storage cache flush, Force Unit Access
Citations
- Linux 6.12 bcache documentation: cache_mode, bypass and error handling.
- Linux v6.12 bcache request.c: check_should_bypass, cached_dev_write and bch_data_insert_start.
- Linux 6.12 dm-cache documentation: cache operating modes.
- Linux explicit volatile write-back cache control: PREFLUSH and FUA.
- Linux v6.12 bcache sysfs.c: cache_mode updates and dirty-data state.
Sources & caveats
- Block-storage policy usage, illustrated by Linux 6.12 bcache and contrasted with dm-cache; not a hardware benchmark or a general cache-removal procedure.