Merge tag 'trace-v4.8-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt...
[deliverable/linux.git] / fs / nfs / file.c
index 0e9b4a068f13ebebc4a4e076fc2e5d1a90b96ab9..7d620970f2e1addfbd447dc7b4a0bd1233bc9ec6 100644 (file)
@@ -420,7 +420,7 @@ static int nfs_write_end(struct file *file, struct address_space *mapping,
                return status;
        NFS_I(mapping->host)->write_io += copied;
 
-       if (nfs_ctx_key_to_expire(ctx)) {
+       if (nfs_ctx_key_to_expire(ctx, mapping->host)) {
                status = nfs_wb_all(mapping->host);
                if (status < 0)
                        return status;
@@ -569,6 +569,8 @@ static int nfs_vm_page_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf)
                filp, filp->f_mapping->host->i_ino,
                (long long)page_offset(page));
 
+       sb_start_pagefault(inode->i_sb);
+
        /* make sure the cache has finished storing the page */
        nfs_fscache_wait_on_page_write(NFS_I(inode), page);
 
@@ -595,6 +597,7 @@ static int nfs_vm_page_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf)
 out_unlock:
        unlock_page(page);
 out:
+       sb_end_pagefault(inode->i_sb);
        return ret;
 }
 
@@ -610,7 +613,7 @@ static int nfs_need_check_write(struct file *filp, struct inode *inode)
 
        ctx = nfs_file_open_context(filp);
        if (test_bit(NFS_CONTEXT_ERROR_WRITE, &ctx->flags) ||
-           nfs_ctx_key_to_expire(ctx))
+           nfs_ctx_key_to_expire(ctx, inode))
                return 1;
        return 0;
 }
This page took 0.027858 seconds and 5 git commands to generate.