|
@@ -5577,11 +5577,9 @@ nfsd4_release_lockowner(struct svc_rqst *rqstp,
|
|
dprintk("nfsd4_release_lockowner clientid: (%08x/%08x):\n",
|
|
dprintk("nfsd4_release_lockowner clientid: (%08x/%08x):\n",
|
|
clid->cl_boot, clid->cl_id);
|
|
clid->cl_boot, clid->cl_id);
|
|
|
|
|
|
- nfs4_lock_state();
|
|
|
|
-
|
|
|
|
status = lookup_clientid(clid, cstate, nn);
|
|
status = lookup_clientid(clid, cstate, nn);
|
|
if (status)
|
|
if (status)
|
|
- goto out;
|
|
|
|
|
|
+ return status;
|
|
|
|
|
|
clp = cstate->clp;
|
|
clp = cstate->clp;
|
|
/* Find the matching lock stateowner */
|
|
/* Find the matching lock stateowner */
|
|
@@ -5598,7 +5596,7 @@ nfsd4_release_lockowner(struct svc_rqst *rqstp,
|
|
if (check_for_locks(stp->st_stid.sc_file, lo)) {
|
|
if (check_for_locks(stp->st_stid.sc_file, lo)) {
|
|
status = nfserr_locks_held;
|
|
status = nfserr_locks_held;
|
|
spin_unlock(&clp->cl_lock);
|
|
spin_unlock(&clp->cl_lock);
|
|
- goto out;
|
|
|
|
|
|
+ return status;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -5608,8 +5606,6 @@ nfsd4_release_lockowner(struct svc_rqst *rqstp,
|
|
spin_unlock(&clp->cl_lock);
|
|
spin_unlock(&clp->cl_lock);
|
|
if (lo)
|
|
if (lo)
|
|
release_lockowner(lo);
|
|
release_lockowner(lo);
|
|
-out:
|
|
|
|
- nfs4_unlock_state();
|
|
|
|
return status;
|
|
return status;
|
|
}
|
|
}
|
|
|
|
|