On 7/29/2025 8:04 PM, Keith Busch wrote: > @@ -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.