diff options
Diffstat (limited to 'fs/nfs/nfs4proc.c')
| -rw-r--r-- | fs/nfs/nfs4proc.c | 16 | 
1 files changed, 1 insertions, 15 deletions
diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c index b2671cb0f90..26431cf62dd 100644 --- a/fs/nfs/nfs4proc.c +++ b/fs/nfs/nfs4proc.c @@ -2632,7 +2632,7 @@ nfs4_proc_setattr(struct dentry *dentry, struct nfs_fattr *fattr,  	int status;  	if (pnfs_ld_layoutret_on_setattr(inode)) -		pnfs_return_layout(inode); +		pnfs_commit_and_return_layout(inode);  	nfs_fattr_init(fattr); @@ -6416,22 +6416,8 @@ nfs4_layoutcommit_done(struct rpc_task *task, void *calldata)  static void nfs4_layoutcommit_release(void *calldata)  {  	struct nfs4_layoutcommit_data *data = calldata; -	struct pnfs_layout_segment *lseg, *tmp; -	unsigned long *bitlock = &NFS_I(data->args.inode)->flags;  	pnfs_cleanup_layoutcommit(data); -	/* Matched by references in pnfs_set_layoutcommit */ -	list_for_each_entry_safe(lseg, tmp, &data->lseg_list, pls_lc_list) { -		list_del_init(&lseg->pls_lc_list); -		if (test_and_clear_bit(NFS_LSEG_LAYOUTCOMMIT, -				       &lseg->pls_flags)) -			pnfs_put_lseg(lseg); -	} - -	clear_bit_unlock(NFS_INO_LAYOUTCOMMITTING, bitlock); -	smp_mb__after_clear_bit(); -	wake_up_bit(bitlock, NFS_INO_LAYOUTCOMMITTING); -  	put_rpccred(data->cred);  	kfree(data);  }  |