[Devel] Re: [PATCH] ext3: ext3_symlink should use GFP_NOFS allocations inside (ver. 3)
Andrew Morton
akpm at osdl.org
Fri Mar 10 00:56:34 PST 2006
Arjan van de Ven <arjan at infradead.org> wrote:
>
> On Fri, 2006-03-10 at 11:46 +0300, Kirill Korotaev wrote:
> > Andrew,
> >
> > Fixed both comments from Al Viro (thanks, Al):
> > - should have a separate helper
> > - should pass 0 instead of GFP_KERNEL in page_symlink()
>
> >
> > + page = find_or_create_page(mapping, 0,
> > + mapping_gfp_mask(mapping) | gfp_mask);
>
>
>
> this does not work; GFP_NOFS has a bit *LESS* than GFP_KERNEL, not a bit
> more. As such a | operation isn't going to be useful....
>
> (So I think that while Al's intention was good, the implication of it
> isn't ;)
Yup. page_symlink() needs to pass in mapping_gfp_mask(inode->i_mapping)
and ext3 needs to pass in, umm,
mapping_gfp_mask(inode->i_mapping) & ~__GFP_FS
or
GFP_NOFS|__GFP_HIGHMEM.
preferably the former I guess.
More information about the Devel
mailing list