osaf/services/saf/amf/amfd/include/su.h |   6 +-----
 osaf/services/saf/amf/amfd/role.cc      |   2 +-
 osaf/services/saf/amf/amfd/sg_2n_fsm.cc |  30 ++++++++++++++++--------------
 osaf/services/saf/amf/amfd/su.cc        |   6 ++++++
 4 files changed, 24 insertions(+), 20 deletions(-)


diff --git a/osaf/services/saf/amf/amfd/include/su.h 
b/osaf/services/saf/amf/amfd/include/su.h
--- a/osaf/services/saf/amf/amfd/include/su.h
+++ b/osaf/services/saf/amf/amfd/include/su.h
@@ -114,6 +114,7 @@ class AVD_SU {
        void set_all_susis_assigned_quiesced(void);
        void set_all_susis_assigned(void);
        void set_term_state(bool state);
+       void set_su_switch(SaToggleState state);
 
  private:
        void send_attribute_update(AVSV_AMF_SU_ATTR_ID attrib_id);
@@ -131,11 +132,6 @@ typedef struct {
 
 } AVD_SUTCOMP_TYPE;
 
-#define m_AVD_SET_SU_SWITCH(cb,su,state) {\
-su->su_switch = state;\
-m_AVSV_SEND_CKPT_UPDT_ASYNC_UPDT(cb, su, AVSV_CKPT_SU_SWITCH);\
-}
-
 #define m_AVD_APP_SU_IS_INSVC(i_su,su_node_ptr) \
 ((su_node_ptr->saAmfNodeAdminState == SA_AMF_ADMIN_UNLOCKED) && \
 (su_node_ptr->saAmfNodeOperState == SA_AMF_OPERATIONAL_ENABLED) && \
diff --git a/osaf/services/saf/amf/amfd/role.cc 
b/osaf/services/saf/amf/amfd/role.cc
--- a/osaf/services/saf/amf/amfd/role.cc
+++ b/osaf/services/saf/amf/amfd/role.cc
@@ -536,7 +536,7 @@ void avd_role_switch_ncs_su_evh(AVD_CL_C
                                avd_sg_su_si_mod_snd(cb, i_su, 
SA_AMF_HA_ACTIVE);
                        } else {
                                avd_sg_su_oper_list_add(cb, i_su, false);
-                               m_AVD_SET_SU_SWITCH(cb, i_su, 
AVSV_SI_TOGGLE_SWITCH);
+                               i_su->set_su_switch(AVSV_SI_TOGGLE_SWITCH);
                                m_AVD_SET_SG_FSM(cb, (i_su->sg_of_su), 
AVD_SG_FSM_SU_OPER);
                        }
                }
diff --git a/osaf/services/saf/amf/amfd/sg_2n_fsm.cc 
b/osaf/services/saf/amf/amfd/sg_2n_fsm.cc
--- a/osaf/services/saf/amf/amfd/sg_2n_fsm.cc
+++ b/osaf/services/saf/amf/amfd/sg_2n_fsm.cc
@@ -866,7 +866,7 @@ SaAisErrorT avd_sg_2n_siswap_func(AVD_SI
        /* Add the SU to the operation list and change the SG state to 
SU_operation. */
        avd_sg_su_oper_list_add(avd_cb, susi->su, false);
        m_AVD_SET_SG_FSM(avd_cb, susi->su->sg_of_su, AVD_SG_FSM_SU_OPER);
-       m_AVD_SET_SU_SWITCH(avd_cb, susi->su, AVSV_SI_TOGGLE_SWITCH);
+       susi->su->set_su_switch(AVSV_SI_TOGGLE_SWITCH);
        si->invocation = invocation;
 
        LOG_NO("%s Swap initiated", susi->si->name.value);
@@ -917,7 +917,7 @@ static uint32_t avd_sg_2n_su_fault_su_op
        if (su->sg_of_su->su_oper_list.su == su) {
                su_ha_state = avd_su_state_determine(su);
                if (su_ha_state == SA_AMF_HA_QUIESCED) {
-                       m_AVD_SET_SU_SWITCH(cb, su, AVSV_SI_TOGGLE_STABLE);
+                       su->set_su_switch(AVSV_SI_TOGGLE_STABLE);
                } else if (su_ha_state == SA_AMF_HA_QUIESCING) {
                        if (avd_sidep_si_dependency_exists_within_su(su)) {
                                if 
(avd_sg_susi_mod_snd_honouring_si_dependency(su, SA_AMF_HA_QUIESCED) == 
NCSCC_RC_FAILURE) {
@@ -999,7 +999,7 @@ static uint32_t avd_sg_2n_su_fault_su_op
                                        avd_su_role_failover(su, a_su);
                                }
 
-                               m_AVD_SET_SU_SWITCH(cb, a_su, 
AVSV_SI_TOGGLE_STABLE);
+                               a_su->set_su_switch(AVSV_SI_TOGGLE_STABLE);
                        }
 
                } /* if(su_ha_state == SA_AMF_HA_STANDBY) */
@@ -1039,8 +1039,8 @@ static uint32_t avd_sg_2n_su_fault_su_op
 
                        if ((a_su->su_switch == AVSV_SI_TOGGLE_SWITCH) &&
                            (a_su->saAmfSuReadinessState == 
SA_AMF_READINESS_IN_SERVICE) &&
-                           (a_su_ha_state == SA_AMF_HA_QUIESCED)) {
-                               m_AVD_SET_SU_SWITCH(cb, a_su, 
AVSV_SI_TOGGLE_STABLE);
+                               (a_su_ha_state == SA_AMF_HA_QUIESCED)) {
+                               a_su->set_su_switch(AVSV_SI_TOGGLE_STABLE);
                        } else if (a_su_ha_state == SA_AMF_HA_QUIESCED) {
                                /* the other SU has quiesced assignments 
meaning either it is
                                 * out of service or locked. So just send a 
remove request
@@ -2127,8 +2127,9 @@ static uint32_t avd_sg_2n_susi_sucss_su_
                }
 
                /* Finish the SI SWAP admin operation */
-               m_AVD_SET_SU_SWITCH(cb, su->sg_of_su->su_oper_list.su, 
AVSV_SI_TOGGLE_STABLE);
-               avd_sg_su_oper_list_del(cb, su->sg_of_su->su_oper_list.su, 
false);
+               AVD_SU *su_at_head = su->sg_of_su->su_oper_list.su;
+               su_at_head->set_su_switch(AVSV_SI_TOGGLE_STABLE);
+               avd_sg_su_oper_list_del(cb, su_at_head, false);
                m_AVD_SET_SG_FSM(cb, su->sg_of_su, AVD_SG_FSM_STABLE);
                /*As sg is stable, screen for si dependencies and take action 
on whole sg*/
                avd_sidep_update_si_dep_state_for_all_sis(su->sg_of_su);
@@ -2233,8 +2234,7 @@ static uint32_t avd_sg_2n_susi_sucss_su_
                                        node_admin_state_set(su_node_ptr, 
SA_AMF_ADMIN_LOCKED);
                                }
                        } else if (su->su_switch == AVSV_SI_TOGGLE_SWITCH) {
-                               /* this SU switch state is true change to 
false. */
-                               m_AVD_SET_SU_SWITCH(cb, su, 
AVSV_SI_TOGGLE_STABLE);
+                               su->set_su_switch(AVSV_SI_TOGGLE_STABLE);
                        }
 
                } else {
@@ -2714,7 +2714,7 @@ uint32_t avd_sg_2n_susi_fail_func(AVD_CL
                                goto done;
                        }
 
-                       m_AVD_SET_SU_SWITCH(cb, su, AVSV_SI_TOGGLE_STABLE);
+                       su->set_su_switch(AVSV_SI_TOGGLE_STABLE);
                        m_AVD_SET_SG_FSM(cb, (su->sg_of_su), 
AVD_SG_FSM_SG_REALIGN);
                        complete_siswap(su, SA_AIS_ERR_BAD_OPERATION);
 
@@ -3056,7 +3056,7 @@ static void avd_sg_2n_node_fail_su_oper(
                                        node_admin_state_set(su_node_ptr, 
SA_AMF_ADMIN_LOCKED);
                                }
                        } else {
-                               m_AVD_SET_SU_SWITCH(cb, su, 
AVSV_SI_TOGGLE_STABLE);
+                               su->set_su_switch(AVSV_SI_TOGGLE_STABLE);
                        }
 
                }               /* if ((quiesced_susi_in_su(su)) || 
(quiescing_susi_in_su(su))) */
@@ -3083,7 +3083,7 @@ static void avd_sg_2n_node_fail_su_oper(
                                        node_admin_state_set(su_node_ptr, 
SA_AMF_ADMIN_LOCKED);
                                }
                        } else {
-                               m_AVD_SET_SU_SWITCH(cb, su, 
AVSV_SI_TOGGLE_STABLE);
+                               su->set_su_switch(AVSV_SI_TOGGLE_STABLE);
                        }
                        avd_sg_su_oper_list_add(cb, a_susi->su, false);
                        m_AVD_SET_SG_FSM(cb, (su->sg_of_su), 
AVD_SG_FSM_SG_REALIGN);
@@ -3157,7 +3157,8 @@ static void avd_sg_2n_node_fail_su_oper(
                                m_AVD_SET_SG_FSM(cb, (su->sg_of_su), 
AVD_SG_FSM_SG_REALIGN);
                        }
 
-                       m_AVD_SET_SU_SWITCH(cb, 
(su->sg_of_su->su_oper_list.su), AVSV_SI_TOGGLE_STABLE);
+                       AVD_SU *su_at_head = su->sg_of_su->su_oper_list.su;
+                       su_at_head->set_su_switch(AVSV_SI_TOGGLE_STABLE);
                        su->delete_all_susis();
 
                } /* if(avd_su_state_determine(su) == SA_AMF_HA_STANDBY) */
@@ -3193,7 +3194,8 @@ static void avd_sg_2n_node_fail_su_oper(
                                m_AVD_SET_SG_FSM(cb, (su->sg_of_su), 
AVD_SG_FSM_SG_REALIGN);
                        }
 
-                       m_AVD_SET_SU_SWITCH(cb, 
(su->sg_of_su->su_oper_list.su), AVSV_SI_TOGGLE_STABLE);
+                       AVD_SU *su_at_head = su->sg_of_su->su_oper_list.su;
+                       su_at_head->set_su_switch(AVSV_SI_TOGGLE_STABLE);
                        su->delete_all_susis();
 
                }
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
@@ -1702,3 +1702,9 @@ void AVD_SU::set_term_state(bool state) 
        TRACE("%s term_state %u", name.value, term_state);
        m_AVSV_SEND_CKPT_UPDT_ASYNC_UPDT(avd_cb, this, AVSV_CKPT_SU_TERM_STATE);
 }
+
+void AVD_SU::set_su_switch(SaToggleState state) {
+       su_switch = state;
+       TRACE("%s su_switch %u", name.value, su_switch);
+       m_AVSV_SEND_CKPT_UPDT_ASYNC_UPDT(avd_cb, this, AVSV_CKPT_SU_SWITCH);
+}

------------------------------------------------------------------------------
"Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.  Get 
unparalleled scalability from the best Selenium testing platform available.
Simple to use. Nothing to install. Get started now for free."
http://p.sf.net/sfu/SauceLabs
_______________________________________________
Opensaf-devel mailing list
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to