X-Git-Url: https://git.kernel.dk/?a=blobdiff_plain;f=block%2Fblk-core.c;h=f84a9b7b6f5aa167c5559079f095e3d3dff28f0d;hb=bf1cafa18be3b73ad30a3bbf2c3dae5ef333189a;hp=afd2596ea3d3601960ef665b48a8a75e100f3741;hpb=c81b995f00c7a1c2ca9ad67f5bb4a50d02f98f84;p=linux-2.6-block.git diff --git a/block/blk-core.c b/block/blk-core.c index afd2596ea3d3..f84a9b7b6f5a 100644 --- a/block/blk-core.c +++ b/block/blk-core.c @@ -3473,6 +3473,10 @@ static void __blk_rq_prep_clone(struct request *dst, struct request *src) dst->cpu = src->cpu; dst->__sector = blk_rq_pos(src); dst->__data_len = blk_rq_bytes(src); + if (src->rq_flags & RQF_SPECIAL_PAYLOAD) { + dst->rq_flags |= RQF_SPECIAL_PAYLOAD; + dst->special_vec = src->special_vec; + } dst->nr_phys_segments = src->nr_phys_segments; dst->ioprio = src->ioprio; dst->extra_len = src->extra_len;