block: Introduce BLK_MQ_REQ_PREEMPT
[linux-2.6-block.git] / block / blk-mq.c
index 7173d4bd64afdbab45d8256ac22c1c85b2085ab4..e21876778cecd0a3d647f912bd19ccf22aea2b67 100644 (file)
@@ -291,6 +291,8 @@ static struct request *blk_mq_rq_ctx_init(struct blk_mq_alloc_data *data,
        rq->q = data->q;
        rq->mq_ctx = data->ctx;
        rq->cmd_flags = op;
+       if (data->flags & BLK_MQ_REQ_PREEMPT)
+               rq->rq_flags |= RQF_PREEMPT;
        if (blk_queue_io_stat(data->q))
                rq->rq_flags |= RQF_IO_STAT;
        /* do not touch atomic flags, it needs atomic ops against the timer */