Re: [PATCH] VM: Fix the gfp_mask in invalidate_complete_page2

From: Trond Myklebust
Date: Tue Oct 10 2006 - 07:43:27 EST


On Tue, 2006-10-10 at 10:43 +0100, David Howells wrote:
> Trond Myklebust <Trond.Myklebust@xxxxxxxxxx> wrote:
>
> > - if (PagePrivate(page) && !try_to_release_page(page, 0))
> > + if (PagePrivate(page) && !try_to_release_page(page, GFP_KERNEL))
>
> This can't be the right way to fix things. try_to_release_page() may fail
> whatever GFP flags you give it. If the page *must* be invalidated at this
> point then you _must_ call the invalidatepage() op, not the releasepage() op.

No. Invalidatepage does precisely the wrong thing: it invalidates dirty
data instead of committing it to disk. If you need to have the data
invalidated, then you should call truncate_inode_pages().

Trond
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/