block: lift setting the readahead size into the block layer
authorChristoph Hellwig <hch@lst.de>
Thu, 24 Sep 2020 06:51:34 +0000 (08:51 +0200)
committerJens Axboe <axboe@kernel.dk>
Thu, 24 Sep 2020 19:43:39 +0000 (13:43 -0600)
commitc2e4cd57cfa1f627b786c764d185fff85fd12be9
tree7b562f0ea09b6bf6dc45c14a7938ead0daab2aee
parent16ef510139315a2147ee7525796f8dbd4e4b7864
block: lift setting the readahead size into the block layer

Drivers shouldn't really mess with the readahead size, as that is a VM
concept.  Instead set it based on the optimal I/O size by lifting the
algorithm from the md driver when registering the disk.  Also set
bdi->io_pages there as well by applying the same scheme based on
max_sectors.  To ensure the limits work well for stacking drivers a
new helper is added to update the readahead limits from the block
limits, which is also called from disk_stack_limits.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Reviewed-by: Jan Kara <jack@suse.cz>
Reviewed-by: Mike Snitzer <snitzer@redhat.com>
Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com>
Acked-by: Coly Li <colyli@suse.de>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
block/blk-settings.c
block/blk-sysfs.c
drivers/block/aoe/aoeblk.c
drivers/block/drbd/drbd_nl.c
drivers/md/bcache/super.c
drivers/md/dm-table.c
drivers/md/raid0.c
drivers/md/raid10.c
drivers/md/raid5.c
drivers/nvme/host/core.c
include/linux/blkdev.h