Message ID | 346e5bf5-b08e-84e8-7b0e-c6cb0c814f96@kernel.dk (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | block: ensure bdi->io_pages is always initialized | expand |
Jens Axboe <axboe@kernel.dk> writes: > 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 > Reported-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp> > Signed-off-by: Jens Axboe <axboe@kernel.dk> When queued to submit, please let us know to drop fatfs workaround "fat-avoid-oops-when-bdi-io_pages==0.patch" in akpm series. Thanks. > --- > > diff --git a/block/blk-core.c b/block/blk-core.c > index d9d632639bd1..10c08ac50697 100644 > --- a/block/blk-core.c > +++ b/block/blk-core.c > @@ -539,6 +539,7 @@ struct request_queue *blk_alloc_queue(int node_id) > 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->node = node_id;
On 8/31/20 11:53 AM, OGAWA Hirofumi wrote: > Jens Axboe <axboe@kernel.dk> writes: > >> 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 >> Reported-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp> >> Signed-off-by: Jens Axboe <axboe@kernel.dk> > > When queued to submit, please let us know to drop fatfs workaround > "fat-avoid-oops-when-bdi-io_pages==0.patch" in akpm series. Will do - planning on submitting it for 5.9, so probably end this week.
Jens Axboe <axboe@kernel.dk> writes: > On 8/31/20 11:53 AM, OGAWA Hirofumi wrote: >> Jens Axboe <axboe@kernel.dk> writes: >> >>> 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 >>> Reported-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp> >>> Signed-off-by: Jens Axboe <axboe@kernel.dk> >> >> When queued to submit, please let us know to drop fatfs workaround >> "fat-avoid-oops-when-bdi-io_pages==0.patch" in akpm series. > > Will do - planning on submitting it for 5.9, so probably end this > week. OK. Andrew, please drop fat-avoid-oops-when-bdi-io_pages==0.patch. Thanks.
On Mon, Aug 31, 2020 at 11:23:32AM -0600, Jens Axboe wrote: > 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 This should be a fixes for the commit originally adding ->io_pages instead. Otherwise looks good: Reviewed-by: Christoph Hellwig <hch@lst.de>
On 8/31/20 11:43 PM, Christoph Hellwig wrote: > On Mon, Aug 31, 2020 at 11:23:32AM -0600, Jens Axboe wrote: >> 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 > > This should be a fixes for the commit originally adding ->io_pages > instead. Added that and your reviewed-by, thanks.
diff --git a/block/blk-core.c b/block/blk-core.c index d9d632639bd1..10c08ac50697 100644 --- a/block/blk-core.c +++ b/block/blk-core.c @@ -539,6 +539,7 @@ struct request_queue *blk_alloc_queue(int node_id) 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->node = node_id;
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 Reported-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp> Signed-off-by: Jens Axboe <axboe@kernel.dk> ---