]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - fs/nfs/file.c
nfs: teach the NFS client how to treat PG_swapcache pages
[karo-tx-linux.git] / fs / nfs / file.c
index 70d124a61b98d4e6b7fa3487e148de56c57406fb..acd4e4cd29065a7b4fb7dc33ade6f8af6719c1ee 100644 (file)
@@ -430,7 +430,7 @@ static void nfs_invalidate_page(struct page *page, unsigned long offset)
        if (offset != 0)
                return;
        /* Cancel any unstarted writes on this page */
-       nfs_wb_page_cancel(page->mapping->host, page);
+       nfs_wb_page_cancel(page_file_mapping(page)->host, page);
 
        nfs_fscache_invalidate_page(page, page->mapping->host);
 }
@@ -472,7 +472,7 @@ static int nfs_release_page(struct page *page, gfp_t gfp)
  */
 static int nfs_launder_page(struct page *page)
 {
-       struct inode *inode = page->mapping->host;
+       struct inode *inode = page_file_mapping(page)->host;
        struct nfs_inode *nfsi = NFS_I(inode);
 
        dfprintk(PAGECACHE, "NFS: launder_page(%ld, %llu)\n",
@@ -521,7 +521,7 @@ static int nfs_vm_page_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf)
        nfs_fscache_wait_on_page_write(NFS_I(dentry->d_inode), page);
 
        lock_page(page);
-       mapping = page->mapping;
+       mapping = page_file_mapping(page);
        if (mapping != dentry->d_inode->i_mapping)
                goto out_unlock;