diff options
Diffstat (limited to 'fs/nfs/nfs4proc.c')
| -rw-r--r-- | fs/nfs/nfs4proc.c | 5 | 
1 files changed, 2 insertions, 3 deletions
| diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c index 4dbb0ee23432..741ff8c9c6ed 100644 --- a/fs/nfs/nfs4proc.c +++ b/fs/nfs/nfs4proc.c @@ -2933,7 +2933,8 @@ static int _nfs4_open_and_get_state(struct nfs4_opendata *opendata,  	}  out: -	nfs4_sequence_free_slot(&opendata->o_res.seq_res); +	if (!opendata->cancelled) +		nfs4_sequence_free_slot(&opendata->o_res.seq_res);  	return ret;  } @@ -6301,7 +6302,6 @@ static struct nfs4_unlockdata *nfs4_alloc_unlockdata(struct file_lock *fl,  	p->arg.seqid = seqid;  	p->res.seqid = seqid;  	p->lsp = lsp; -	refcount_inc(&lsp->ls_count);  	/* Ensure we don't close file until we're done freeing locks! */  	p->ctx = get_nfs_open_context(ctx);  	p->l_ctx = nfs_get_lock_context(ctx); @@ -6526,7 +6526,6 @@ static struct nfs4_lockdata *nfs4_alloc_lockdata(struct file_lock *fl,  	p->res.lock_seqid = p->arg.lock_seqid;  	p->lsp = lsp;  	p->server = server; -	refcount_inc(&lsp->ls_count);  	p->ctx = get_nfs_open_context(ctx);  	locks_init_lock(&p->fl);  	locks_copy_lock(&p->fl, fl); |