block: remove the bi_phys_segments field in struct bio
authorChristoph Hellwig <hch@lst.de>
Thu, 6 Jun 2019 10:29:01 +0000 (12:29 +0200)
committerJens Axboe <axboe@kernel.dk>
Thu, 20 Jun 2019 16:29:22 +0000 (10:29 -0600)
commit14ccb66b3f585b2bc21e7256c96090abed5a512c
tree7b0d48d59ee474ac1a590352507c7890c16f1e8d
parentf924cddebc900f7cb10d5538d69523e558fa681c
block: remove the bi_phys_segments field in struct bio

We only need the number of segments in the blk-mq submission path.
Remove the field from struct bio, and return it from a variant of
blk_queue_split instead of that it can passed as an argument to
those functions that need the value.

This also means we stop recounting segments except for cloning
and partial segments.

To keep the number of arguments in this how path down remove
pointless struct request_queue arguments from any of the functions
that had it and grew a nr_segs argument.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
18 files changed:
Documentation/block/biodoc.txt
block/bfq-iosched.c
block/bio.c
block/blk-core.c
block/blk-map.c
block/blk-merge.c
block/blk-mq-sched.c
block/blk-mq-sched.h
block/blk-mq.c
block/blk.h
block/kyber-iosched.c
block/mq-deadline.c
drivers/md/raid5.c
include/linux/bio.h
include/linux/blk-mq.h
include/linux/blk_types.h
include/linux/blkdev.h
include/linux/elevator.h