diff options
author | Christoph Hellwig <hch@lst.de> | 2019-06-06 12:29:02 +0200 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2019-06-20 10:29:22 -0600 |
commit | e9cd19c0c198aa1c893e142b015fde6da862ed52 (patch) | |
tree | 323cfe08f79300ebe2fa72105e4c7f4d6d1c17d5 /block/blk-core.c | |
parent | 14ccb66b3f585b2bc21e7256c96090abed5a512c (diff) | |
download | lwn-e9cd19c0c198aa1c893e142b015fde6da862ed52.tar.gz lwn-e9cd19c0c198aa1c893e142b015fde6da862ed52.zip |
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.c | 4 |
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; |