[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [dm-devel] [PATCH 01/19] fs: remove mpage_alloc



On Wed, Mar 23, 2022 at 06:38:22AM +0900, Ryusuke Konishi wrote:
> This looks because the mask of GFP_KERNEL is removed along with
> the removal of mpage_alloc().
> 

> The default value of the gfp flag is set to GFP_HIGHUSER_MOVABLE by
> inode_init_always().
> So, __GFP_HIGHMEM hits the gfp warning at bio_alloc() that
> do_mpage_readpage() calls.

Yeah.  Let's try this to match the iomap code:

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))



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.