Re: [PATCHv3 2/7] blk-mq-dma: provide the bio_vec list being iterated
From: Keith Busch <kbusch@kernel.org>
Date: 2025-07-30 14:18:30
Also in:
linux-nvme
From: Keith Busch <kbusch@kernel.org>
Date: 2025-07-30 14:18:30
Also in:
linux-nvme
On Wed, Jul 30, 2025 at 05:45:27PM +0530, Kanchan Joshi wrote:
On 7/29/2025 8:04 PM, Keith Busch wrote:quoted
@@ -151,6 +146,11 @@ bool blk_rq_dma_map_iter_start(struct request *req, struct device *dma_dev, memset(&iter->p2pdma, 0, sizeof(iter->p2pdma)); iter->status = BLK_STS_OK; + if (req->rq_flags & RQF_SPECIAL_PAYLOAD) + iter->iter.bvec = &req->special_vec;I am not certain yet, but thinking whether this is enough to handle RQF_SPECIAL_PAYLOAD correctly. Maybe "req->special_vec.bv_len" also need to be included here to initialize the iter.
Yeah, I think you're right. I had only tested 'discard' for the special payload, and it appeared to be okay, but I suspect for the wrong reasons. I'll fix it up.