osaf/services/saf/amf/amfd/include/su.h |   2 ++
 osaf/services/saf/amf/amfd/sgproc.cc    |  26 +++-----------------------
 osaf/services/saf/amf/amfd/su.cc        |  19 +++++++++++++++++++
 3 files changed, 24 insertions(+), 23 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
@@ -120,6 +120,8 @@ class AVD_SU {
        bool is_in_service(void);
        void reset_all_comps_assign_flag();
        AVD_COMP *find_unassigned_comp_that_provides_cstype(const SaNameT 
*cstype);
+       void disable_comps(SaAisErrorT result);
+
 
  private:
        void send_attribute_update(AVSV_AMF_SU_ATTR_ID attrib_id);
diff --git a/osaf/services/saf/amf/amfd/sgproc.cc 
b/osaf/services/saf/amf/amfd/sgproc.cc
--- a/osaf/services/saf/amf/amfd/sgproc.cc
+++ b/osaf/services/saf/amf/amfd/sgproc.cc
@@ -293,7 +293,7 @@ static uint32_t sg_su_failover_func(AVD_
                su_complete_admin_op(su, SA_AIS_OK);
        else
                su_complete_admin_op(su, SA_AIS_ERR_TIMEOUT);
-       su_disable_comps(su, SA_AIS_ERR_TIMEOUT);
+       su->disable_comps(SA_AIS_ERR_TIMEOUT);
        if (su->su_on_node->admin_node_pend_cbk.invocation != 0) {
                /* Node level operation is going on the node hosting the SU for 
which 
                   sufailover got escalated. Sufailover event will always come 
after the 
@@ -1563,7 +1563,7 @@ void avd_node_down_mw_susi_failover(AVD_
                i_su->set_pres_state(SA_AMF_PRESENCE_UNINSTANTIATED);
                i_su->set_readiness_state(SA_AMF_READINESS_OUT_OF_SERVICE);
                su_complete_admin_op(i_su, SA_AIS_ERR_TIMEOUT);
-               su_disable_comps(i_su, SA_AIS_ERR_TIMEOUT);
+               i_su->disable_comps(SA_AIS_ERR_TIMEOUT);
 
                /* Now analyze the service group for the new HA state
                 * assignments and send the SU SI assign messages
@@ -1616,7 +1616,7 @@ void avd_node_down_appl_susi_failover(AV
 
                /* Check if there was any admin operations going on this SU. */
                su_complete_admin_op(i_su, SA_AIS_ERR_TIMEOUT);
-               su_disable_comps(i_su, SA_AIS_ERR_TIMEOUT);
+               i_su->disable_comps(SA_AIS_ERR_TIMEOUT);
 
                i_su = i_su->avnd_list_su_next;
        } /* while (i_su != AVD_SU_NULL) */
@@ -2041,23 +2041,3 @@ void comp_complete_admin_op(AVD_COMP *co
                comp->admin_pend_cbk.admin_oper = 
static_cast<SaAmfAdminOperationIdT>(0);
        }
 }
-/**
- * @brief      Disable all components since SU is disabled and out of service. 
- *              It takes care of response to IMM for any admin operation 
pending on components.  
- * @param      ptr to su 
- * @param      result
- * 
- */
-void su_disable_comps(AVD_SU *su, SaAisErrorT result)
-{
-       AVD_COMP *comp;
-       for (comp = su->list_of_comp; comp; comp = comp->su_comp_next) {
-               comp->curr_num_csi_actv = 0;
-               comp->curr_num_csi_stdby = 0;
-               avd_comp_oper_state_set(comp, SA_AMF_OPERATIONAL_DISABLED);
-               avd_comp_pres_state_set(comp, SA_AMF_PRESENCE_UNINSTANTIATED);
-               comp->saAmfCompRestartCount = 0;
-               comp_complete_admin_op(comp, result);
-               m_AVSV_SEND_CKPT_UPDT_ASYNC_UPDT(avd_cb, comp, 
AVSV_CKPT_AVD_COMP_CONFIG);
-       }
-}
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
@@ -1826,3 +1826,22 @@ AVD_COMP *AVD_SU::find_unassigned_comp_t
 
        return l_comp;
 }
+
+/**
+ * Disables all components since SU is disabled and out of service.
+ * Takes care of response to IMM for any admin operation pending on components.
+ * @param result
+ */
+void AVD_SU::disable_comps(SaAisErrorT result)
+{
+       AVD_COMP *comp;
+       for (comp = list_of_comp; comp; comp = comp->su_comp_next) {
+               comp->curr_num_csi_actv = 0;
+               comp->curr_num_csi_stdby = 0;
+               avd_comp_oper_state_set(comp, SA_AMF_OPERATIONAL_DISABLED);
+               avd_comp_pres_state_set(comp, SA_AMF_PRESENCE_UNINSTANTIATED);
+               comp->saAmfCompRestartCount = 0;
+               comp_complete_admin_op(comp, result);
+               m_AVSV_SEND_CKPT_UPDT_ASYNC_UPDT(avd_cb, comp, 
AVSV_CKPT_AVD_COMP_CONFIG);
+       }
+}

------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and their 
applications. Written by three acclaimed leaders in the field, 
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/NeoTech
_______________________________________________
Opensaf-devel mailing list
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to