block: keep established cmd_flags when cloning into a blk-mq request
[linux-2.6-block.git] / block / blk-core.c
index c81f02cd17d4c0bb8dd7de5673c9b56f9812c6fb..b5e0cc381458c917a79dfd3ca172721f63242b12 100644 (file)
@@ -2914,7 +2914,7 @@ EXPORT_SYMBOL_GPL(blk_rq_unprep_clone);
 static void __blk_rq_prep_clone(struct request *dst, struct request *src)
 {
        dst->cpu = src->cpu;
-       dst->cmd_flags = (src->cmd_flags & REQ_CLONE_MASK) | REQ_NOMERGE;
+       dst->cmd_flags |= (src->cmd_flags & REQ_CLONE_MASK) | REQ_NOMERGE;
        dst->cmd_type = src->cmd_type;
        dst->__sector = blk_rq_pos(src);
        dst->__data_len = blk_rq_bytes(src);