summaryrefslogtreecommitdiffstats
path: root/fs/nfs/proc.c
diff options
context:
space:
mode:
authorTrond Myklebust <trond.myklebust@primarydata.com>2015-02-26 23:36:09 +0100
committerTrond Myklebust <trond.myklebust@primarydata.com>2015-03-02 05:23:06 +0100
commita08a8cd375db9769588257e7782f6b6b68561b88 (patch)
treed8546485f16b6ffc2c1d15a2009d384fc3f488ef /fs/nfs/proc.c
parentNFS: Set an attribute barrier on all updates (diff)
downloadlinux-a08a8cd375db9769588257e7782f6b6b68561b88.tar.xz
linux-a08a8cd375db9769588257e7782f6b6b68561b88.zip
NFS: Add attribute update barriers to NFS writebacks
Ensure that other operations that race with our write RPC calls cannot revert the file size updates that were made on the server. Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com> Tested-by: Chuck Lever <chuck.lever@oracle.com>
Diffstat (limited to 'fs/nfs/proc.c')
-rw-r--r--fs/nfs/proc.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/fs/nfs/proc.c b/fs/nfs/proc.c
index 6202bc0f11bb..c63189acd052 100644
--- a/fs/nfs/proc.c
+++ b/fs/nfs/proc.c
@@ -609,10 +609,8 @@ static int nfs_proc_pgio_rpc_prepare(struct rpc_task *task,
static int nfs_write_done(struct rpc_task *task, struct nfs_pgio_header *hdr)
{
- struct inode *inode = hdr->inode;
-
if (task->tk_status >= 0)
- nfs_post_op_update_inode_force_wcc(inode, hdr->res.fattr);
+ nfs_writeback_update_inode(hdr);
return 0;
}