diff options
author | Ming Lei <tom.leiming@gmail.com> | 2014-06-05 00:23:55 +0800 |
---|---|---|
committer | Jens Axboe <axboe@fb.com> | 2014-06-04 10:40:16 -0600 |
commit | 14b83e172f0bc83b8dcf78ee8b1844beeffb418d (patch) | |
tree | 3695014cf1ecadfaba613ed6d5e6be39b6788d68 /block | |
parent | 0e62f51f8753b048f391ee2d7f2af1f7297b0be5 (diff) |
block: mq flush: clear flush_rq's tag in flush_end_io()
blk_mq_tag_to_rq() needs to be able to tell if it should return
the original request, or the flush request if we are doing a flush
sequence. Clear the flush tag when IO completes for a flush, since
that is what we are comparing against.
Signed-off-by: Ming Lei <tom.leiming@gmail.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
Diffstat (limited to 'block')
-rw-r--r-- | block/blk-flush.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/block/blk-flush.c b/block/blk-flush.c index ff87c664b7df..8ffee4b5f93d 100644 --- a/block/blk-flush.c +++ b/block/blk-flush.c @@ -225,7 +225,7 @@ static void flush_end_io(struct request *flush_rq, int error) if (q->mq_ops) { spin_lock_irqsave(&q->mq_flush_lock, flags); - q->flush_rq->cmd_flags = 0; + q->flush_rq->tag = -1; } running = &q->flush_queue[q->flush_running_idx]; |