diff --git a/fs/nfsd/nfs4proc.c b/fs/nfsd/nfs4proc.c index 0c209443f9be64394a4df3701bbb48bcd689e441..96c4e2616b51231d280c98d33e1481dbda7549aa 100644 --- a/fs/nfsd/nfs4proc.c +++ b/fs/nfsd/nfs4proc.c @@ -1532,10 +1532,8 @@ nfsd4_copy(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate, refcount_set(&async_copy->refcount, 1); /* Arbitrary cap on number of pending async copy operations */ if (atomic_inc_return(&nn->pending_async_copies) > - (int)rqstp->rq_pool->sp_nrthreads) { - atomic_dec(&nn->pending_async_copies); + (int)rqstp->rq_pool->sp_nrthreads) goto out_err; - } if (!nfs4_init_copy_state(nn, copy)) goto out_err; memcpy(©->cp_res.cb_stateid, ©->cp_stateid.stid,