Browse Source

NFSv4: Add attribute update barriers to delegreturn and pNFS layoutcommit

Ensure that other operations that race with delegreturn and layoutcommit
cannot revert the attribute updates that were made on the server.

Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
Tested-by: Chuck Lever <chuck.lever@oracle.com>
Trond Myklebust 10 years ago
parent
commit
8f8ba1d739
1 changed files with 1 additions and 0 deletions
  1. 1 0
      fs/nfs/inode.c

+ 1 - 0
fs/nfs/inode.c

@@ -1555,6 +1555,7 @@ int nfs_post_op_update_inode_force_wcc(struct inode *inode, struct nfs_fattr *fa
 	int status;
 
 	spin_lock(&inode->i_lock);
+	nfs_fattr_set_barrier(fattr);
 	status = nfs_post_op_update_inode_force_wcc_locked(inode, fattr);
 	spin_unlock(&inode->i_lock);
 	return status;