osaf/services/saf/amf/amfd/sg_nway_fsm.cc |  3 +++
 osaf/services/saf/amf/amfd/su.cc          |  2 ++
 2 files changed, 5 insertions(+), 0 deletions(-)


In Nway SUs can be assigned more SIs then configured via
saAmfSGMaxActiveSIsperSU.

This is a regression and the problem was introduced in:
changeset:   5393:cd62d4031f1a

diff --git a/osaf/services/saf/amf/amfd/sg_nway_fsm.cc 
b/osaf/services/saf/amf/amfd/sg_nway_fsm.cc
--- a/osaf/services/saf/amf/amfd/sg_nway_fsm.cc
+++ b/osaf/services/saf/amf/amfd/sg_nway_fsm.cc
@@ -1302,6 +1302,9 @@ uint32_t avd_sg_nway_si_assign(AVD_CL_CB
                        TRACE_1("SI fully assigned, next SI");
                        continue;
                }
+
+               curr_su = NULL;
+
                /* we've an unassigned si.. find su for active assignment */
                /* first, scan based on su rank for this si */
                for (std::map<std::pair<std::string, uint32_t>, 
AVD_SUS_PER_SI_RANK*>::const_iterator
diff --git a/osaf/services/saf/amf/amfd/su.cc b/osaf/services/saf/amf/amfd/su.cc
--- a/osaf/services/saf/amf/amfd/su.cc
+++ b/osaf/services/saf/amf/amfd/su.cc
@@ -1781,6 +1781,7 @@ static void su_ccb_apply_cb(CcbUtilOpera
 
 void AVD_SU::inc_curr_act_si() {
        saAmfSUNumCurrActiveSIs++;
+       osafassert(saAmfSUNumCurrActiveSIs <= 
sg_of_su->saAmfSGMaxActiveSIsperSU);
        TRACE("%s saAmfSUNumCurrActiveSIs=%u", name.value,
                saAmfSUNumCurrActiveSIs);
        m_AVSV_SEND_CKPT_UPDT_ASYNC_UPDT(avd_cb, this, 
AVSV_CKPT_SU_SI_CURR_ACTIVE);
@@ -1796,6 +1797,7 @@ void AVD_SU::dec_curr_act_si() {
 
 void AVD_SU::inc_curr_stdby_si() {
        saAmfSUNumCurrStandbySIs++;
+       osafassert(saAmfSUNumCurrStandbySIs <= 
sg_of_su->saAmfSGMaxStandbySIsperSU);
        TRACE("%s saAmfSUNumCurrStandbySIs=%u", name.value,
                saAmfSUNumCurrStandbySIs);
        m_AVSV_SEND_CKPT_UPDT_ASYNC_UPDT(avd_cb, this, 
AVSV_CKPT_SU_SI_CURR_STBY);

------------------------------------------------------------------------------
Want excitement?
Manually upgrade your production database.
When you want reliability, choose Perforce
Perforce version control. Predictably reliable.
http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk
_______________________________________________
Opensaf-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to