mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-12-29 17:25:38 +00:00
block: untangle the end of blk_bio_segment_split
Now that we don't need to assign the front/back segment sizes, we can duplicating the segs assignment for the split vs no-split case and remove a whole chunk of boilerplate code. Reviewed-by: Hannes Reinecke <hare@suse.com> Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
parent
e9cd19c0c1
commit
d627065d88
@ -202,8 +202,6 @@ static struct bio *blk_bio_segment_split(struct request_queue *q,
|
||||
struct bio_vec bv, bvprv, *bvprvp = NULL;
|
||||
struct bvec_iter iter;
|
||||
unsigned nsegs = 0, sectors = 0;
|
||||
bool do_split = true;
|
||||
struct bio *new = NULL;
|
||||
const unsigned max_sectors = get_max_io_size(q, bio);
|
||||
const unsigned max_segs = queue_max_segments(q);
|
||||
|
||||
@ -245,17 +243,11 @@ static struct bio *blk_bio_segment_split(struct request_queue *q,
|
||||
}
|
||||
}
|
||||
|
||||
do_split = false;
|
||||
*segs = nsegs;
|
||||
return NULL;
|
||||
split:
|
||||
*segs = nsegs;
|
||||
|
||||
if (do_split) {
|
||||
new = bio_split(bio, sectors, GFP_NOIO, bs);
|
||||
if (new)
|
||||
bio = new;
|
||||
}
|
||||
|
||||
return do_split ? new : NULL;
|
||||
return bio_split(bio, sectors, GFP_NOIO, bs);
|
||||
}
|
||||
|
||||
void __blk_queue_split(struct request_queue *q, struct bio **bio,
|
||||
|
Loading…
Reference in New Issue
Block a user