[PATCHv6 0/8] blk dma iter for integrity metadata
Keith Busch
kbusch at meta.com
Tue Aug 12 06:52:02 PDT 2025
From: Keith Busch <kbusch at kernel.org>
Previous version:
https://lore.kernel.org/linux-block/20250808155826.1864803-1-kbusch@meta.com/
Changes since v5, addressing review feedback from Christoph:
- Keep the phys_vec, create a different iterator for the lower layer
separated from the phys_vec
- Commit log changes describing the bvec array being iterated.
- Rename the blk_map_iter initialiation function; take a pointer
instead of returning a copy; make it inline
- Rename the bvec pointer being iterated to "bvecs"
- Have bio-integrity legacy scatter-gather iteration subscribe to the
new dma api. This required relocating some inline functions to
header files.
- Using 'bio_integrity()' to avoid needing "#ifdef CONFIG_" usage
- Kernel doc for integrity dma mapping APIs
- nvme comment explaining when we do or don't use MPTR format
- Various nvme code cleanups
Keith Busch (8):
blk-mq-dma: create blk_map_iter type
blk-mq-dma: provide the bio_vec array being iterated
blk-mq-dma: require unmap caller provide p2p map type
blk-mq: remove REQ_P2PDMA flag
blk-mq-dma: move common dma start code to a helper
blk-mq-dma: add support for mapping integrity metadata
nvme-pci: create common sgl unmapping helper
nvme-pci: convert metadata mapping to dma iter
block/bio.c | 2 +-
block/blk-integrity.c | 43 +++---
block/blk-mq-dma.c | 251 +++++++++++++++++++++++-----------
block/blk-mq.h | 26 ++++
drivers/nvme/host/pci.c | 213 +++++++++++++++++------------
include/linux/blk-integrity.h | 17 +++
include/linux/blk-mq-dma.h | 14 +-
include/linux/blk_types.h | 2 -
8 files changed, 364 insertions(+), 204 deletions(-)
--
2.47.3
More information about the Linux-nvme
mailing list