summaryrefslogtreecommitdiff
path: root/block/blk-core.c
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2019-06-06 13:29:02 +0300
committerJens Axboe <axboe@kernel.dk>2019-06-20 19:29:22 +0300
commite9cd19c0c198aa1c893e142b015fde6da862ed52 (patch)
tree323cfe08f79300ebe2fa72105e4c7f4d6d1c17d5 /block/blk-core.c
parent14ccb66b3f585b2bc21e7256c96090abed5a512c (diff)
downloadlinux-e9cd19c0c198aa1c893e142b015fde6da862ed52.tar.xz
block: simplify blk_recalc_rq_segments
Return the segement and let the callers assign them, which makes the code a littler more obvious. Also pass the request instead of q plus bio chain, allowing for the use of rq_for_each_bvec. Reviewed-by: Hannes Reinecke <hare@suse.com> Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'block/blk-core.c')
-rw-r--r--block/blk-core.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/block/blk-core.c b/block/blk-core.c
index ef998a724b27..ccba87bb5267 100644
--- a/block/blk-core.c
+++ b/block/blk-core.c
@@ -1152,7 +1152,7 @@ static int blk_cloned_rq_check_limits(struct request_queue *q,
* Recalculate it to check the request correctly on this queue's
* limitation.
*/
- blk_recalc_rq_segments(rq);
+ rq->nr_phys_segments = blk_recalc_rq_segments(rq);
if (rq->nr_phys_segments > queue_max_segments(q)) {
printk(KERN_ERR "%s: over max segments limit. (%hu > %hu)\n",
__func__, rq->nr_phys_segments, queue_max_segments(q));
@@ -1421,7 +1421,7 @@ bool blk_update_request(struct request *req, blk_status_t error,
}
/* recalculate the number of segments */
- blk_recalc_rq_segments(req);
+ req->nr_phys_segments = blk_recalc_rq_segments(req);
}
return true;