diff options
author | Steve French <sfrench@us.ibm.com> | 2005-12-05 11:15:30 -0800 |
---|---|---|
committer | Steve French <sfrench@us.ibm.com> | 2005-12-05 11:15:30 -0800 |
commit | c89a86bb96307019867d11874ef0b86adaa0598e (patch) | |
tree | c44c1a825e8a143a4c52bcb8692292aeb77fa64e /fs/nfs/nfs4proc.c | |
parent | 07475ffba5800c53573180dd521273642adcd0e9 (diff) | |
parent | e4f5c82a92c2a546a16af1614114eec19120e40a (diff) | |
download | linux-c89a86bb96307019867d11874ef0b86adaa0598e.tar.gz linux-c89a86bb96307019867d11874ef0b86adaa0598e.tar.bz2 linux-c89a86bb96307019867d11874ef0b86adaa0598e.zip |
Merge with /pub/scm/linux/kernel/git/torvalds/linux-2.6.git
Signed-off-by: Steve French <sfrench@us.ibm.com>
Diffstat (limited to 'fs/nfs/nfs4proc.c')
-rw-r--r-- | fs/nfs/nfs4proc.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c index 60e0dd800cc3..f988a9417b13 100644 --- a/fs/nfs/nfs4proc.c +++ b/fs/nfs/nfs4proc.c @@ -1506,10 +1506,15 @@ static int _nfs4_proc_write(struct nfs_write_data *wdata) dprintk("NFS call write %d @ %Ld\n", wdata->args.count, (long long) wdata->args.offset); + wdata->args.bitmask = server->attr_bitmask; + wdata->res.server = server; nfs_fattr_init(fattr); status = rpc_call_sync(server->client, &msg, rpcflags); dprintk("NFS reply write: %d\n", status); - return status; + if (status < 0) + return status; + nfs_post_op_update_inode(inode, fattr); + return wdata->res.count; } static int nfs4_proc_write(struct nfs_write_data *wdata) @@ -1540,9 +1545,13 @@ static int _nfs4_proc_commit(struct nfs_write_data *cdata) dprintk("NFS call commit %d @ %Ld\n", cdata->args.count, (long long) cdata->args.offset); + cdata->args.bitmask = server->attr_bitmask; + cdata->res.server = server; nfs_fattr_init(fattr); status = rpc_call_sync(server->client, &msg, 0); dprintk("NFS reply commit: %d\n", status); + if (status >= 0) + nfs_post_op_update_inode(inode, fattr); return status; } |