osaf/services/saf/amf/amfd/sg_2n_fsm.cc |  10 ++++++++++
 1 files changed, 10 insertions(+), 0 deletions(-)


During si-swap, when su goes into terminating state, amf need to respond back 
to imm
with error as SA_AIS_ERR_BAD_OPERATION.
As of now, Amf is not even responding to imm in case of error during si-swap.
This causes Amf to respond back to previous si operation result when another 
si-swap
operation is successfully executed as invocation is not reset for previous 
si-swap operation.

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
@@ -920,6 +920,16 @@ 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) {
+                       if (su->su_switch == AVSV_SI_TOGGLE_SWITCH) {
+                               AVD_SU_SI_REL *temp_susi;
+                               for (temp_susi = su->list_of_susi; temp_susi != 
NULL; temp_susi = temp_susi->su_next) {
+                                       if (temp_susi->si->invocation != 0) {
+                                               
avd_saImmOiAdminOperationResult(cb->immOiHandle,
+                                                               
temp_susi->si->invocation, SA_AIS_ERR_BAD_OPERATION);
+                                               temp_susi->si->invocation = 0;
+                                       }
+                               }
+                       }
                        m_AVD_SET_SU_SWITCH(cb, su, AVSV_SI_TOGGLE_STABLE);
                } else if (su_ha_state == SA_AMF_HA_QUIESCING) {
                        if (avd_sidep_si_dependency_exists_within_su(su)) {

------------------------------------------------------------------------------
Rapidly troubleshoot problems before they affect your business. Most IT 
organizations don't have a clear picture of how application performance 
affects their revenue. With AppDynamics, you get 100% visibility into your 
Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro!
http://pubads.g.doubleclick.net/gampad/clk?id=84349351&iu=/4140/ostg.clktrk
_______________________________________________
Opensaf-devel mailing list
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to