On Mon, Jul 01, 2019 at 08:36:13AM +0200, Christoph Hellwig wrote: > On Mon, Jul 01, 2019 at 12:16:44PM +0800, Ming Lei wrote: > > 'bio->bi_iter.bi_size' is 'unsigned int', which at most hold 4G - 1 > > bytes. > > > > Before 07173c3ec276 ("block: enable multipage bvecs"), one bio can > > include very limited pages, and usually at most 256, so the fs bio > > size won't be bigger than 1M bytes most of times. > > > > Since we support multi-page bvec, in theory one fs bio really can > > be added > 1M pages, especially in case of hugepage, or big writeback > > in case of huge dirty pages. Then there is chance in which .bi_size > > is overflowed. > > > > Fixes this issue by adding bio_will_full() which checks if the added > > segment may overflow .bi_size. > > Can you please just add the argument to bio_full? bio_will_full sounds > rather odd. OK. > > Maybe also add a kerneldoc comment to the new bio_full to explain > it. Otherwise this looks fine to me. Fine. Thanks, Ming