Ver Fonte

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

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Trond Myklebust há 17 anos atrás
pai
commit
b5418383ef
1 ficheiros alterados com 2 adições e 1 exclusões
  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;
 }