NFS: Fix nfs_release_page

invalidate_inode_pages2_range() will clear the PG_dirty bit before calling
try_to_release_page().

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
This commit is contained in:
Trond Myklebust 2006-12-05 00:35:42 -05:00
parent 61822ab5e3
commit fa8d8c5b77
1 changed files with 7 additions and 6 deletions

View File

@ -315,13 +315,14 @@ static void nfs_invalidate_page(struct page *page, unsigned long offset)
static int nfs_release_page(struct page *page, gfp_t gfp)
{
if (gfp & __GFP_FS)
return !nfs_wb_page(page->mapping->host, page);
else
/*
* Avoid deadlock on nfs_wait_on_request().
*/
/*
* Avoid deadlock on nfs_wait_on_request().
*/
if (!(gfp & __GFP_FS))
return 0;
/* Hack... Force nfs_wb_page() to write out the page */
SetPageDirty(page);
return !nfs_wb_page(page->mapping->host, page);
}
const struct address_space_operations nfs_file_aops = {