osaf/services/saf/amf/amfd/sg_2n_fsm.cc | 15 ++++++++-------
1 files changed, 8 insertions(+), 7 deletions(-)
AMFD crashes during SU lock if a component faults with sufailover
recovery.
Except for si-swap, SG should be moved to realign state.
Patch for #309 confined it to cases of node shutdown and su shutdown only.
Patch moves SG to realign state for node lock and su lock case also.
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
@@ -2835,19 +2835,20 @@ void SG_2N::node_fail_su_oper(AVD_SU *su
}
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);
- } else {
-
+ } else if (su->su_switch ==
AVSV_SI_TOGGLE_SWITCH) {
/* During si-swap while standby
assignment is going on, if Nodefailover
or SU failover got escalated then
toggle SU switch state and make SG
stable. After SG becomes stable,
spare SU will be instantiated,
if available, or same SU will get
standby assignment after repair.
*/
- if (su->su_switch ==
AVSV_SI_TOGGLE_SWITCH) {
-
su->set_su_switch(AVSV_SI_TOGGLE_STABLE);
- m_AVD_SET_SG_FSM(cb,
(su->sg_of_su), AVD_SG_FSM_STABLE);
- complete_siswap(a_susi->su,
SA_AIS_OK);
- }
+
su->set_su_switch(AVSV_SI_TOGGLE_STABLE);
+ m_AVD_SET_SG_FSM(cb, (su->sg_of_su),
AVD_SG_FSM_STABLE);
+ complete_siswap(a_susi->su, SA_AIS_OK);
+ } else {
+ 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);
}
+
}
} /* if (a_susi->su != su) */
else {
------------------------------------------------------------------------------
_______________________________________________
Opensaf-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel