| From de1b0ee490eafdf65fac9eef9925391a8369f2dc Mon Sep 17 00:00:00 2001 |
| From: Jens Axboe <axboe@kernel.dk> |
| Date: Mon, 31 Aug 2020 11:20:02 -0600 |
| Subject: block: ensure bdi->io_pages is always initialized |
| |
| From: Jens Axboe <axboe@kernel.dk> |
| |
| commit de1b0ee490eafdf65fac9eef9925391a8369f2dc upstream. |
| |
| If a driver leaves the limit settings as the defaults, then we don't |
| initialize bdi->io_pages. This means that file systems may need to |
| work around bdi->io_pages == 0, which is somewhat messy. |
| |
| Initialize the default value just like we do for ->ra_pages. |
| |
| Cc: stable@vger.kernel.org |
| Fixes: 9491ae4aade6 ("mm: don't cap request size based on read-ahead setting") |
| Reported-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp> |
| Reviewed-by: Christoph Hellwig <hch@lst.de> |
| Signed-off-by: Jens Axboe <axboe@kernel.dk> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| block/blk-core.c | 1 + |
| 1 file changed, 1 insertion(+) |
| |
| --- a/block/blk-core.c |
| +++ b/block/blk-core.c |
| @@ -502,6 +502,7 @@ struct request_queue *blk_alloc_queue_no |
| goto fail_stats; |
| |
| q->backing_dev_info->ra_pages = VM_READAHEAD_PAGES; |
| + q->backing_dev_info->io_pages = VM_READAHEAD_PAGES; |
| q->backing_dev_info->capabilities = BDI_CAP_CGROUP_WRITEBACK; |
| q->backing_dev_info->name = "block"; |
| q->node = node_id; |