summaryrefslogtreecommitdiffstats
path: root/fs/nfs/file.c
diff options
context:
space:
mode:
authorTrond Myklebust <trond.myklebust@primarydata.com>2016-06-02 11:03:00 -0400
committerTrond Myklebust <trond.myklebust@primarydata.com>2016-06-22 09:59:43 -0400
commit93761d9863c332d1099d80629f89cf48eb745e48 (patch)
tree88c33b3add67f002559adfe8bc01f672f3846903 /fs/nfs/file.c
parent811ed92ecc9f47eee90beabcf5c2133f2a6d2440 (diff)
downloadlinux-93761d9863c332d1099d80629f89cf48eb745e48.tar.gz
linux-93761d9863c332d1099d80629f89cf48eb745e48.tar.bz2
linux-93761d9863c332d1099d80629f89cf48eb745e48.zip
NFS: Don't hold the inode lock across fsync()
Commits are no longer required to be serialised. Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
Diffstat (limited to 'fs/nfs/file.c')
-rw-r--r--fs/nfs/file.c2
1 files changed, 0 insertions, 2 deletions
diff --git a/fs/nfs/file.c b/fs/nfs/file.c
index 29d7477a62e8..249262b6bcbe 100644
--- a/fs/nfs/file.c
+++ b/fs/nfs/file.c
@@ -277,11 +277,9 @@ nfs_file_fsync(struct file *file, loff_t start, loff_t end, int datasync)
ret = filemap_write_and_wait_range(inode->i_mapping, start, end);
if (ret != 0)
break;
- inode_lock(inode);
ret = nfs_file_fsync_commit(file, start, end, datasync);
if (!ret)
ret = pnfs_sync_inode(inode, !!datasync);
- inode_unlock(inode);
/*
* If nfs_file_fsync_commit detected a server reboot, then
* resend all dirty pages that might have been covered by