diff options
author | Tony Luck <tony.luck@intel.com> | 2005-08-16 11:29:57 -0700 |
---|---|---|
committer | Tony Luck <tony.luck@intel.com> | 2005-08-16 11:29:57 -0700 |
commit | f7001e8f1fa5369ee24f58255726a04a2019e4bd (patch) | |
tree | 1bbdd233ad0cf2e0adb4eb04f22b7bfa59a43494 /fs/nfs/nfs4proc.c | |
parent | 85f265d887d2389376f1caa191e9682085feb76e (diff) | |
parent | cf59001235c5a36f3e3701bd593a78cf955a4242 (diff) | |
download | kernel_samsung_smdk4412-f7001e8f1fa5369ee24f58255726a04a2019e4bd.zip kernel_samsung_smdk4412-f7001e8f1fa5369ee24f58255726a04a2019e4bd.tar.gz kernel_samsung_smdk4412-f7001e8f1fa5369ee24f58255726a04a2019e4bd.tar.bz2 |
Auto-update from upstream
Diffstat (limited to 'fs/nfs/nfs4proc.c')
-rw-r--r-- | fs/nfs/nfs4proc.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c index 1b76f80..0c5a308 100644 --- a/fs/nfs/nfs4proc.c +++ b/fs/nfs/nfs4proc.c @@ -753,6 +753,7 @@ static int _nfs4_do_setattr(struct nfs_server *server, struct nfs_fattr *fattr, .rpc_argp = &arg, .rpc_resp = &res, }; + int status; fattr->valid = 0; @@ -762,7 +763,8 @@ static int _nfs4_do_setattr(struct nfs_server *server, struct nfs_fattr *fattr, } else memcpy(&arg.stateid, &zero_stateid, sizeof(arg.stateid)); - return rpc_call_sync(server->client, &msg, 0); + status = rpc_call_sync(server->client, &msg, 0); + return status; } static int nfs4_do_setattr(struct nfs_server *server, struct nfs_fattr *fattr, @@ -1145,6 +1147,8 @@ nfs4_proc_setattr(struct dentry *dentry, struct nfs_fattr *fattr, status = nfs4_do_setattr(NFS_SERVER(inode), fattr, NFS_FH(inode), sattr, state); + if (status == 0) + nfs_setattr_update_inode(inode, sattr); if (state != NULL) nfs4_close_state(state, FMODE_WRITE); put_rpccred(cred); @@ -1449,8 +1453,10 @@ nfs4_proc_create(struct inode *dir, struct dentry *dentry, struct iattr *sattr, struct nfs_fattr fattr; status = nfs4_do_setattr(NFS_SERVER(dir), &fattr, NFS_FH(state->inode), sattr, state); - if (status == 0) + if (status == 0) { + nfs_setattr_update_inode(state->inode, sattr); goto out; + } } else if (flags != 0) goto out; nfs4_close_state(state, flags); |