On Mon, Feb 24, 2020 at 02:17:49PM -0800, Christoph Hellwig wrote: > On Thu, Feb 20, 2020 at 08:24:04AM -0800, Matthew Wilcox wrote: > > On Thu, Feb 20, 2020 at 07:47:41AM -0800, Christoph Hellwig wrote: > > > On Wed, Feb 19, 2020 at 01:01:00PM -0800, Matthew Wilcox wrote: > > > > From: "Matthew Wilcox (Oracle)" <willy@xxxxxxxxxxxxx> > > > > > > > > By putting the 'have we reached the end of the page' condition at the end > > > > of the loop instead of the beginning, we can remove the 'submit the last > > > > page' code from iomap_readpages(). Also check that iomap_readpage_actor() > > > > didn't return 0, which would lead to an endless loop. > > > > > > I'm obviously biassed a I wrote the original code, but I find the new > > > very much harder to understand (not that the previous one was easy, this > > > is tricky code..). > > > > Agreed, I found the original code hard to understand. I think this is > > easier because now cur_page doesn't leak outside this loop, so it has > > an obvious lifecycle. > > I really don't like this patch, and would prefer if the series goes > ahead without it, as the current sctructure works just fine even > with the readahead changes. Dave Chinner specifically asked me to do it this way, so please fight amongst yourselves.