bcache: inherit the optimal I/O size
authorChristoph Hellwig <hch@lst.de>
Thu, 24 Sep 2020 06:51:30 +0000 (08:51 +0200)
committerJens Axboe <axboe@kernel.dk>
Thu, 24 Sep 2020 19:43:38 +0000 (13:43 -0600)
Inherit the optimal I/O size setting just like the readahead window,
as any reason to do larger I/O does not apply to just readahead.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Jan Kara <jack@suse.cz>
Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com>
Acked-by: Coly Li <colyli@suse.de>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
drivers/md/bcache/super.c

index 1bbdc410ee3c515061b0272c27061bead2fff7ca..48113005ed86ad7193ab380c8c51ab9f41ca6120 100644 (file)
@@ -1430,6 +1430,8 @@ static int cached_dev_init(struct cached_dev *dc, unsigned int block_size)
        dc->disk.disk->queue->backing_dev_info->ra_pages =
                max(dc->disk.disk->queue->backing_dev_info->ra_pages,
                    q->backing_dev_info->ra_pages);
+       blk_queue_io_opt(dc->disk.disk->queue,
+               max(queue_io_opt(dc->disk.disk->queue), queue_io_opt(q)));
 
        atomic_set(&dc->io_errors, 0);
        dc->io_disable = false;