This causes too many commits in shrink_page_list()... Reported-by: Steve Rago <sar@xxxxxxxxxxxx> Signed-off-by: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx> --- fs/nfs/file.c | 7 +++++++ 1 files changed, 7 insertions(+), 0 deletions(-) diff --git a/fs/nfs/file.c b/fs/nfs/file.c index 63f2071..dcba521 100644 --- a/fs/nfs/file.c +++ b/fs/nfs/file.c @@ -486,6 +486,13 @@ static int nfs_release_page(struct page *page, gfp_t gfp) { dfprintk(PAGECACHE, "NFS: release_page(%p)\n", page); + /* See comment in shrink_page_list(): although the VM may + * call this function on a dirty page, we are not expected + * to initiate writeback on it. + */ + if (PageDirty(page) || !page->mapping) + return 0; + if (gfp & __GFP_WAIT) nfs_wb_page(page->mapping->host, page); /* If PagePrivate() is set, then the page is not freeable */ -- 1.6.6 -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxxx For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>