if (state != NULL) nfs4_close_state(state, FMODE_WRITE); 
if (ctx != NULL) put_nfs_open_context(ctx); 
nfs4_proc_setattr(struct dentry *dentry, struct nfs_fattr *fattr,		  struct iattr *sattr){	struct rpc_cred *cred;	struct inode *inode = dentry->d_inode;	struct nfs4_state *state;	int status;	nfs_fattr_init(fattr);		cred = rpcauth_lookupcred(NFS_SERVER(inode)->client->cl_auth, 0);	if (IS_ERR(cred))		return PTR_ERR(cred);	/* Search for an existing WRITE delegation first */	state = nfs4_open_delegated(inode, FMODE_WRITE, cred);	if (!IS_ERR(state)) {		/* NB: nfs4_open_delegated() bumps the inode->i_count */		iput(inode);	} else {		/* Search for an existing open(O_WRITE) stateid */		state = nfs4_find_state(inode, cred, FMODE_WRITE);	}	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);	return status;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/d530838bfa507d67b40d13b00d9cbd7a46a47e78/nfs4proc.c/buggy/fs/nfs/nfs4proc.c