block: warn if tag is greater than real_max_depth.

In case tag depth is reduced, it is max_depth not real_max_depth.
So we should allow a request with tag >= max_depth, but for a
tag >= real_max_depth, there really should be some problem.

Signed-off-by: Tao Ma <boyu.mt@taobao.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
Tao Ma 2011-10-25 10:20:05 +02:00 committed by Jens Axboe
parent 83157223de
commit 5e08159197
1 changed files with 4 additions and 2 deletions

View File

@ -286,12 +286,14 @@ void blk_queue_end_tag(struct request_queue *q, struct request *rq)
BUG_ON(tag == -1);
if (unlikely(tag >= bqt->real_max_depth))
if (unlikely(tag >= bqt->max_depth)) {
/*
* This can happen after tag depth has been reduced.
* FIXME: how about a warning or info message here?
* But tag shouldn't be larger than real_max_depth.
*/
WARN_ON(tag >= bqt->real_max_depth);
return;
}
list_del_init(&rq->queuelist);
rq->cmd_flags &= ~REQ_QUEUED;