]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - fs/nfs/file.c
NFS: Prevent another deadlock in nfs_release_page()
[karo-tx-linux.git] / fs / nfs / file.c
index ae8d02294e462283eb2c421048dc381c8d87bf36..ae0d92736531c4da6ffaa0e8ac33a85287f2b36f 100644 (file)
@@ -491,7 +491,8 @@ static int nfs_release_page(struct page *page, gfp_t gfp)
 {
        dfprintk(PAGECACHE, "NFS: release_page(%p)\n", page);
 
-       if (gfp & __GFP_WAIT)
+       /* Only do I/O if gfp is a superset of GFP_KERNEL */
+       if ((gfp & GFP_KERNEL) == GFP_KERNEL)
                nfs_wb_page(page->mapping->host, page);
        /* If PagePrivate() is set, then the page is not freeable */
        if (PagePrivate(page))