Browse Source

NFS: do_setlk(): don't flush caches when we have a delegation

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Trond Myklebust 17 năm trước cách đây
mục cha
commit
b5418383ef
1 tập tin đã thay đổi với 2 bổ sung1 xóa
  1. 2 1
      fs/nfs/file.c

+ 2 - 1
fs/nfs/file.c

@@ -602,7 +602,8 @@ static int do_setlk(struct file *filp, int cmd, struct file_lock *fl)
 	 * This makes locking act as a cache coherency point.
 	 */
 	nfs_sync_mapping(filp->f_mapping);
-	nfs_zap_caches(inode);
+	if (!nfs_have_delegation(inode, FMODE_READ))
+		nfs_zap_caches(inode);
 out:
 	return status;
 }