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
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel