Fix 'program hangs' defects found by Coverity version 6.5.1:
Missing unlock (LOCK)
Returning without unlocking.
Signed-off-by: Sebastien Buisson <sebastien.buisson@bull.net>
Change-Id: I96c2bb05a5875ed493ebe99587e9901baea80fc8
Reviewed-on: http://review.whamcloud.com/5870
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Keith Mannthey <DELETED>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
cfs_percpt_for_each(scd, i, sv->sv_cpt_data) {
spin_lock(&scd->scd_lock);
- if (!swi_deschedule_workitem(&scd->scd_buf_wi))
+ if (!swi_deschedule_workitem(&scd->scd_buf_wi)) {
+ spin_unlock(&scd->scd_lock);
return 0;
+ }
if (scd->scd_buf_nposted > 0) {
CDEBUG(D_NET, "waiting for %d posted buffers to unlink",
mdt_obd_name(mdt), info->mti_transno,
libcfs_nid2str(exp->exp_connection->c_peer.nid),
rc);
+ spin_unlock(&mdt->mdt_lut.lut_translock);
RETURN_EXIT;
}
} else if (info->mti_transno == 0) {
if (mti->mti_transno != 0) {
CERROR("Replay transno "LPU64" failed: rc %d\n",
mti->mti_transno, txn->th_result);
+ spin_unlock(&mdt->mdt_lut.lut_translock);
return 0;
}
} else if (mti->mti_transno == 0) {