Commit 61939b12 authored by John Pittman's avatar John Pittman Committed by Jens Axboe

block: print offending values when cloned rq limits are exceeded

While troubleshooting issues where cloned request limits have been
exceeded, it is often beneficial to know the actual values that
have been breached.  Print these values, assisting in ease of
identification of root cause of the breach.
Reviewed-by: default avatarChaitanya Kulkarni <chaitanya.kulkarni@wdc.com>
Reviewed-by: default avatarMing Lei <ming.lei@redhat.com>
Signed-off-by: default avatarJohn Pittman <jpittman@redhat.com>
Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent cd669f88
...@@ -1138,7 +1138,9 @@ static int blk_cloned_rq_check_limits(struct request_queue *q, ...@@ -1138,7 +1138,9 @@ static int blk_cloned_rq_check_limits(struct request_queue *q,
struct request *rq) struct request *rq)
{ {
if (blk_rq_sectors(rq) > blk_queue_get_max_sectors(q, req_op(rq))) { if (blk_rq_sectors(rq) > blk_queue_get_max_sectors(q, req_op(rq))) {
printk(KERN_ERR "%s: over max size limit.\n", __func__); printk(KERN_ERR "%s: over max size limit. (%u > %u)\n",
__func__, blk_rq_sectors(rq),
blk_queue_get_max_sectors(q, req_op(rq)));
return -EIO; return -EIO;
} }
...@@ -1150,7 +1152,8 @@ static int blk_cloned_rq_check_limits(struct request_queue *q, ...@@ -1150,7 +1152,8 @@ static int blk_cloned_rq_check_limits(struct request_queue *q,
*/ */
blk_recalc_rq_segments(rq); blk_recalc_rq_segments(rq);
if (rq->nr_phys_segments > queue_max_segments(q)) { if (rq->nr_phys_segments > queue_max_segments(q)) {
printk(KERN_ERR "%s: over max segments limit.\n", __func__); printk(KERN_ERR "%s: over max segments limit. (%hu > %hu)\n",
__func__, rq->nr_phys_segments, queue_max_segments(q));
return -EIO; return -EIO;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment