block: Warn if blk_queue_rq_timed_out() is called for a blk-mq queue

The timeout handler set by blk_queue_rq_timed_out() is only used
in single queue mode. Calling this function for blk-mq drivers is
wrong. Hence issue a warning if this function is called by a blk-mq
driver.

Signed-off-by: Bart Van Assche <bart.vanassche@wdc.com>
Cc: Christoph Hellwig <hch@lst.de>
Cc: Hannes Reinecke <hare@suse.de>
Cc: Johannes Thumshirn <jthumshirn@suse.de>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
Bart Van Assche 2017-08-23 10:56:29 -07:00 committed by Jens Axboe
parent 2f54a613c9
commit 130d733a61
1 changed files with 1 additions and 0 deletions

View File

@ -68,6 +68,7 @@ EXPORT_SYMBOL_GPL(blk_queue_rq_timeout);
void blk_queue_rq_timed_out(struct request_queue *q, rq_timed_out_fn *fn) void blk_queue_rq_timed_out(struct request_queue *q, rq_timed_out_fn *fn)
{ {
WARN_ON_ONCE(q->mq_ops);
q->rq_timed_out_fn = fn; q->rq_timed_out_fn = fn;
} }
EXPORT_SYMBOL_GPL(blk_queue_rq_timed_out); EXPORT_SYMBOL_GPL(blk_queue_rq_timed_out);