osaf/services/saf/amf/amfd/ckpt_dec.cc  |   4 ++++
 osaf/services/saf/amf/amfd/ckpt_updt.cc |  14 ++++++++++++++
 2 files changed, 18 insertions(+), 0 deletions(-)


In the pushed patch for #1141, oper state of su and comp is not included.
Since active AMFD will update these states in MBCSV checkpointing, standby amfd 
should add
them in imm job queue at the time of decoding. If whole comp and su struture is 
sent be active amfd
then also standby amfd should keep them in imm job queue after decoding.

diff --git a/osaf/services/saf/amf/amfd/ckpt_dec.cc 
b/osaf/services/saf/amf/amfd/ckpt_dec.cc
--- a/osaf/services/saf/amf/amfd/ckpt_dec.cc
+++ b/osaf/services/saf/amf/amfd/ckpt_dec.cc
@@ -1340,6 +1340,8 @@ static uint32_t dec_su_oper_state(AVD_CL
        osaf_decode_uint32(&dec->i_uba, (uint32_t*)&su->saAmfSUOperState);
 
        cb->async_updt_cnt.su_updt++;
+       avd_saImmOiRtObjectUpdate(&su->name, "saAmfSUOperState",
+               SA_IMM_ATTR_SAUINT32T, &su->saAmfSUOperState);
 
        TRACE_LEAVE2("'%s', saAmfSUOperState=%u, su_updt:%d",
                name.value, su->saAmfSUOperState, cb->async_updt_cnt.su_updt);
@@ -2034,6 +2036,8 @@ static uint32_t dec_comp_oper_state(AVD_
 
        /* Update the fields received in this checkpoint message */
        comp_struct->saAmfCompOperState = comp_ptr->saAmfCompOperState;
+       avd_saImmOiRtObjectUpdate(&comp_ptr->comp_info.name, 
"saAmfCompOperState",
+               SA_IMM_ATTR_SAUINT32T, &comp_ptr->saAmfCompOperState);
 
        cb->async_updt_cnt.comp_updt++;
 
diff --git a/osaf/services/saf/amf/amfd/ckpt_updt.cc 
b/osaf/services/saf/amf/amfd/ckpt_updt.cc
--- a/osaf/services/saf/amf/amfd/ckpt_updt.cc
+++ b/osaf/services/saf/amf/amfd/ckpt_updt.cc
@@ -205,6 +205,14 @@ uint32_t avd_ckpt_su(AVD_CL_CB *cb, AVD_
        su->su_switch = ckpt_su->su_switch;
        su->saAmfSURestartCount = ckpt_su->saAmfSURestartCount;
 
+       avd_saImmOiRtObjectUpdate(&su->name, "saAmfSUOperState",
+                       SA_IMM_ATTR_SAUINT32T, &su->saAmfSUOperState);
+       avd_saImmOiRtObjectUpdate(&su->name, "saAmfSUAdminState",
+                       SA_IMM_ATTR_SAUINT32T, &su->saAmfSUAdminState);
+       avd_saImmOiRtObjectUpdate(&su->name, "saAmfSUReadinessState",
+                       SA_IMM_ATTR_SAUINT32T, &su->saAmfSuReadinessState);
+       avd_saImmOiRtObjectUpdate(&su->name, "saAmfSUPresenceState",
+                       SA_IMM_ATTR_SAUINT32T, &su->saAmfSUPresenceState);
 done:
        TRACE_LEAVE2("%u", rc);
        return rc;
@@ -540,6 +548,12 @@ uint32_t avd_ckpt_comp(AVD_CL_CB *cb, AV
        comp->saAmfCompReadinessState = ckpt_comp->saAmfCompReadinessState;
        /* SaNameT struct copy */
        comp->saAmfCompCurrProxyName = ckpt_comp->saAmfCompCurrProxyName;
+       avd_saImmOiRtObjectUpdate(&comp->comp_info.name, "saAmfCompOperState",
+                       SA_IMM_ATTR_SAUINT32T, &comp->saAmfCompOperState);
+       avd_saImmOiRtObjectUpdate(&comp->comp_info.name, 
"saAmfCompReadinessState",
+                       SA_IMM_ATTR_SAUINT32T, &comp->saAmfCompReadinessState);
+       avd_saImmOiRtObjectUpdate(&comp->comp_info.name, 
"saAmfCompPresenceState",
+                       SA_IMM_ATTR_SAUINT32T, &comp->saAmfCompPresenceState);
 
        rc = NCSCC_RC_SUCCESS;
 done:

------------------------------------------------------------------------------
_______________________________________________
Opensaf-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to