ack, code review only/Regards HansN On 04/30/14 07:01, Hans Feldt wrote: > 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