Zero value of blk_mq_reg::queue_depth defaults to
BLK_MQ_MAX_DEPTH. Commit 1ffd49b ("blk-mq: Check queue
depth is valid") broke this default. This fix restores
the previous behaviour.Signed-off-by: Alexander Gordeev <[email protected]> --- block/blk-mq.c | 6 ++++-- 1 files changed, 4 insertions(+), 2 deletions(-) diff --git a/block/blk-mq.c b/block/blk-mq.c index a8b4c79..6c2533a 100644 --- a/block/blk-mq.c +++ b/block/blk-mq.c @@ -1308,8 +1308,7 @@ struct request_queue *blk_mq_init_queue(struct blk_mq_reg *reg, if (!reg->nr_hw_queues || !reg->ops->queue_rq || !reg->ops->map_queue || - !reg->ops->alloc_hctx || !reg->ops->free_hctx || - (reg->queue_depth < (reg->reserved_tags + BLK_MQ_TAG_MIN))) + !reg->ops->alloc_hctx || !reg->ops->free_hctx) return ERR_PTR(-EINVAL); if (!reg->queue_depth) @@ -1319,6 +1318,9 @@ struct request_queue *blk_mq_init_queue(struct blk_mq_reg *reg, reg->queue_depth = BLK_MQ_MAX_DEPTH; } + if (reg->queue_depth < (reg->reserved_tags + BLK_MQ_TAG_MIN)) + return ERR_PTR(-EINVAL); + ctx = alloc_percpu(struct blk_mq_ctx); if (!ctx) return ERR_PTR(-ENOMEM); -- 1.7.7.6 -- Regards, Alexander Gordeev [email protected] -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

