On Mon, Mar 23, 2020 at 06:12:44AM -0700, Matthew Wilcox wrote: > From: "Matthew Wilcox (Oracle)" <willy@xxxxxxxxxxxxx> > > If we use GFP_NORETRY, we have to be able to handle failures, and it's > tricky to handle failure here. Other implementations of ->readpages > do not attempt to handle BIO allocation failures, so this is no worse. > > Signed-off-by: Matthew Wilcox (Oracle) <willy@xxxxxxxxxxxxx> This fixes the regression I saw, though I see what looks like a new patch forming further down in this thread, so please let me know if you'd prefer I take this change, the other one, or both. Reviewed-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx> --D > --- > fs/iomap/buffered-io.c | 2 -- > 1 file changed, 2 deletions(-) > > diff --git a/fs/iomap/buffered-io.c b/fs/iomap/buffered-io.c > index 417115bfaf6b..2336642d7390 100644 > --- a/fs/iomap/buffered-io.c > +++ b/fs/iomap/buffered-io.c > @@ -307,8 +307,6 @@ iomap_readpage_actor(struct inode *inode, loff_t pos, loff_t length, void *data, > if (ctx->bio) > submit_bio(ctx->bio); > > - if (ctx->is_readahead) /* same as readahead_gfp_mask */ > - gfp |= __GFP_NORETRY | __GFP_NOWARN; > ctx->bio = bio_alloc(gfp, min(BIO_MAX_PAGES, nr_vecs)); > ctx->bio->bi_opf = REQ_OP_READ; > if (ctx->is_readahead) > -- > 2.25.1 >