| 1d57628f | 12-Aug-2025 |
Dongsheng Yang <dongsheng.yang@linux.dev> |
dm-pcache: add persistent cache target in device-mapper
This patch introduces dm-pcache, a new DM target that places a DAX- capable persistent-memory device in front of any slower block device and u
dm-pcache: add persistent cache target in device-mapper
This patch introduces dm-pcache, a new DM target that places a DAX- capable persistent-memory device in front of any slower block device and uses it as a high-throughput, low-latency cache.
Design highlights ----------------- - DAX data path – data is copied directly between DRAM and the pmem mapping, bypassing the block layer’s overhead.
- Segmented, crash-consistent layout - all layout metadata are dual-replicated CRC-protected. - atomic kset flushes; key replay on mount guarantees cache integrity even after power loss.
- Striped multi-tree index - Multi‑tree indexing for high parallelism. - overlap-resolution logic ensures non-intersecting cached extents.
- Background services - write-back worker flushes dirty keys in order, preserving backing-device crash consistency. This is important for checkpoint in cloud storage. - garbage collector reclaims clean segments when utilisation exceeds a tunable threshold.
- Data integrity – optional CRC32 on cached payload; metadata always protected.
Comparison with existing block-level caches --------------------------------------------------------------------------------------------------------------------------------- | Feature | pcache (this patch) | bcache | dm-writecache | |----------------------------------|---------------------------------|------------------------------|---------------------------| | pmem access method | DAX | bio (block I/O) | DAX | | Write latency (4 K rand-write) | ~5 µs | ~20 µs | ~5 µs | | Concurrency | multi subtree index | global index tree | single tree + wc_lock | | IOPS (4K randwrite, 32 numjobs) | 2.1 M | 352 K | 283 K | | Read-cache support | YES | YES | NO | | Deployment | no re-format of backend | backend devices must be | no re-format of backend | | | | reformatted | | | Write-back ordering | log-structured; | no ordering guarantee | no ordering guarantee | | | preserves app-IO-order | | | | Data integrity checks | metadata + data CRC(optional) | metadata CRC only | none | ---------------------------------------------------------------------------------------------------------------------------------
Signed-off-by: Dongsheng Yang <dongsheng.yang@linux.dev> Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
show more ...
|
| c7c61bc4 | 15-Aug-2025 |
Bagas Sanjaya <bagasdotme@gmail.com> |
dm-vdo: Promote dm-vdo title to title heading
dm-vdo docs currently has no explicit title heading but instead there are multiple section headings as top-level heading. As such, these sections are re
dm-vdo: Promote dm-vdo title to title heading
dm-vdo docs currently has no explicit title heading but instead there are multiple section headings as top-level heading. As such, these sections are rendered as titles and inflates number of entries in the toctree index.
Promote the first section heading ("dm-vdo") to title heading.
Fixes: 04bf7ac646ab ("dm: add documentation for dm-vdo target") Signed-off-by: Bagas Sanjaya <bagasdotme@gmail.com> Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
show more ...
|
| 88926060 | 29-Jan-2025 |
Milan Broz <gmazyland@gmail.com> |
dm-crypt: Document integrity_key_size option.
This patch adds documentation for new option introduced in commit 4441686b24a1 ("dm-crypt: Allow to specify the integrity key size as option").
Signed-
dm-crypt: Document integrity_key_size option.
This patch adds documentation for new option introduced in commit 4441686b24a1 ("dm-crypt: Allow to specify the integrity key size as option").
Signed-off-by: Milan Broz <gmazyland@gmail.com> Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
show more ...
|
| d8955df3 | 29-Jan-2025 |
Milan Broz <gmazyland@gmail.com> |
dm-integrity: Document Inline mode for storing integrity data
This patch adds documentation for new 'I' mode for dm-integrity introduced in commit fb0987682c62 ("dm-integrity: introduce the Inline m
dm-integrity: Document Inline mode for storing integrity data
This patch adds documentation for new 'I' mode for dm-integrity introduced in commit fb0987682c62 ("dm-integrity: introduce the Inline mode").
Signed-off-by: Milan Broz <gmazyland@gmail.com> Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
show more ...
|
| 4441686b | 16-Aug-2024 |
Ingo Franzki <ifranzki@linux.ibm.com> |
dm-crypt: Allow to specify the integrity key size as option
For the MAC based integrity operation, the integrity key size (i.e. key_mac_size) is currently set to the digest size of the used digest.
dm-crypt: Allow to specify the integrity key size as option
For the MAC based integrity operation, the integrity key size (i.e. key_mac_size) is currently set to the digest size of the used digest.
For wrapped key HMAC algorithms, the key size is independent of the cryptographic key size. So there is no known size of the mac key in such cases. The desired key size can optionally be specified as argument when the dm-crypt device is configured via 'integrity_key_size:%u'. If no integrity_key_size argument is specified, the mac key size is still set to the digest size, as before.
Increase version number to 1.28.0 so that support for the new argument can be detected by user space (i.e. cryptsetup).
Signed-off-by: Ingo Franzki <ifranzki@linux.ibm.com> Reviewed-by: Milan Broz <gmazyland@gmail.com> Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
show more ...
|