diff options
author | Jeff Garzik <jgarzik@pobox.com> | 2005-08-18 22:14:39 -0400 |
---|---|---|
committer | Jeff Garzik <jgarzik@pobox.com> | 2005-08-18 22:14:39 -0400 |
commit | a3bc068022b968a3042b48eb9a8e8b0418fb9cdd (patch) | |
tree | 6bbc2806756924105802f4584157396fb98d282c /fs/nfs/nfs4proc.c | |
parent | 54cfb5aa0f4859bd38706eabe0118175780a542f (diff) | |
parent | 91aa9fb573fcc50bc74d5ee64c7e9b36131f1804 (diff) | |
download | kernel_samsung_espresso10-a3bc068022b968a3042b48eb9a8e8b0418fb9cdd.zip kernel_samsung_espresso10-a3bc068022b968a3042b48eb9a8e8b0418fb9cdd.tar.gz kernel_samsung_espresso10-a3bc068022b968a3042b48eb9a8e8b0418fb9cdd.tar.bz2 |
Merge /spare/repo/linux-2.6/
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); |