Message ID | 20220323153952.1418560-1-hch@lst.de (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | fs: do not pass __GFP_HIGHMEM to bio_alloc in do_mpage_readpage | expand |
On Wed, 23 Mar 2022 16:39:52 +0100, Christoph Hellwig wrote: > The mpage bio alloc cleanup accidentally removed clearing ~GFP_KERNEL > bits from the mask passed to bio_alloc. Fix this up in a slightly > less obsfucated way that mirrors what iomap does in its readpage code. > > Applied, thanks! [1/1] fs: do not pass __GFP_HIGHMEM to bio_alloc in do_mpage_readpage commit: 61285ff72ae59e1603f908b13363e99883d67e09 Best regards,
diff --git a/fs/mpage.c b/fs/mpage.c index 9ed1e58e8d70b..d465883edf719 100644 --- a/fs/mpage.c +++ b/fs/mpage.c @@ -148,13 +148,11 @@ static struct bio *do_mpage_readpage(struct mpage_readpage_args *args) int op = REQ_OP_READ; unsigned nblocks; unsigned relative_block; - gfp_t gfp; + gfp_t gfp = mapping_gfp_constraint(page->mapping, GFP_KERNEL); if (args->is_readahead) { op |= REQ_RAHEAD; - gfp = readahead_gfp_mask(page->mapping); - } else { - gfp = mapping_gfp_constraint(page->mapping, GFP_KERNEL); + gfp |= __GFP_NORETRY | __GFP_NOWARN; } if (page_has_buffers(page))