diff mbox

[1/1] NFS: dont revalidate the inode when using local locks

Message ID 1349305724-28173-1-git-send-email-iisaman@netapp.com (mailing list archive)
State New, archived
Headers show

Commit Message

Fred Isaman Oct. 3, 2012, 11:08 p.m. UTC
This drastically improves performance when using lock-heavy workloads that are amenable to using local locks.

Signed-off-by: Fred Isaman <iisaman@netapp.com>
---
 fs/nfs/file.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
diff mbox

Patch

diff --git a/fs/nfs/file.c b/fs/nfs/file.c
index a6708e6..fd0155f 100644
--- a/fs/nfs/file.c
+++ b/fs/nfs/file.c
@@ -765,7 +765,7 @@  do_setlk(struct file *filp, int cmd, struct file_lock *fl, int is_local)
 	 * This makes locking act as a cache coherency point.
 	 */
 	nfs_sync_mapping(filp->f_mapping);
-	if (!nfs_have_delegation(inode, FMODE_READ)) {
+	if ((!is_local) && !nfs_have_delegation(inode, FMODE_READ)) {
 		if (is_time_granular(&NFS_SERVER(inode)->time_delta))
 			__nfs_revalidate_inode(NFS_SERVER(inode), inode);
 		else