On Fri, Aug 21, 2020 at 09:11:40AM +1000, Dave Chinner wrote: > On Wed, Aug 19, 2020 at 03:58:41PM +0530, Anju T Sudhakar wrote: > > From: Ritesh Harjani <rite...@linux.ibm.com> > > > > __bio_try_merge_page() may return same_page = 1 and merged = 0. > > This could happen when bio->bi_iter.bi_size + len > UINT_MAX. > > Ummm, silly question, but exactly how are we getting a bio that > large in ->writepages getting built? Even with 64kB pages, that's a > bio with 2^16 pages attached to it. We shouldn't be building single > bios in writeback that large - what storage hardware is allowing > such huge bios to be built? (i.e. can you dump all the values in > /sys/block/<dev>/queue/* for that device for us?)
NVMe controller should not have a problem with such huge I/O, especially if they support SGLs (extent based I/O :)) instead of the default dumb PRP scheme. Higher end SCSI controller should also have huge limits.