aboutsummaryrefslogtreecommitdiffstats
path: root/block
diff options
context:
space:
mode:
authorJohn Pittman <jpittman@redhat.com>2019-05-23 21:49:39 (GMT)
committerJens Axboe <axboe@kernel.dk>2019-05-31 21:12:34 (GMT)
commit61939b12dc24d0ac958020f261046c35a16e0c48 (patch)
treea4bfb6fffe06ac6257977112e62c038d4394d285 /block
parentcd669f88b13474b7b65396d6413be973b7074ba1 (diff)
downloadkernel_replicant_linux-61939b12dc24d0ac958020f261046c35a16e0c48.zip
kernel_replicant_linux-61939b12dc24d0ac958020f261046c35a16e0c48.tar.gz
kernel_replicant_linux-61939b12dc24d0ac958020f261046c35a16e0c48.tar.bz2
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: Chaitanya Kulkarni <chaitanya.kulkarni@wdc.com> Reviewed-by: Ming Lei <ming.lei@redhat.com> Signed-off-by: John Pittman <jpittman@redhat.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'block')
-rw-r--r--block/blk-core.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/block/blk-core.c b/block/blk-core.c
index e6a273da..ee1b35f 100644
--- a/block/blk-core.c
+++ b/block/blk-core.c
@@ -1138,7 +1138,9 @@ static int blk_cloned_rq_check_limits(struct request_queue *q,
struct request *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;
}
@@ -1150,7 +1152,8 @@ static int blk_cloned_rq_check_limits(struct request_queue *q,
*/
blk_recalc_rq_segments(rq);
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;
}