From: Keith Busch <kbusch@xxxxxxxxxx> Previous version: https://lore.kernel.org/linux-block/20250812135210.4172178-1-kbusch@xxxxxxxx/ Changes since v6 addressing review feeback from Christoph: - Moved the integrity sg conversion to its own patch - implemented it in blk-mq-dma.c instead of blk-integrity.c to avoid having to shuffling functions and common types around - fixed a mistake in v6 that missed using the iter_next helper function - improved changelog for the patch introducing the scatterless integrity mapping - nvme cleanups Keith Busch (9): 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 scatter-less integrity data DMA mapping blk-integrity: use iterator for mapping sg nvme-pci: create common sgl unmapping helper nvme-pci: convert metadata mapping to dma iter block/bio.c | 2 +- block/blk-integrity.c | 58 ------- block/blk-mq-dma.c | 278 ++++++++++++++++++++++++++-------- drivers/nvme/host/pci.c | 197 +++++++++++++----------- include/linux/blk-integrity.h | 17 +++ include/linux/blk-mq-dma.h | 14 +- include/linux/blk_types.h | 2 - 7 files changed, 350 insertions(+), 218 deletions(-) -- 2.47.3