Hi Hoan,

I hope the patch  published On 8/2/2016 2:14 PM is the New version  V2

If you are sending new version please update   V1 to V2 , form next time 
on-words

-AVM


On 8/2/2016 2:17 PM, Vo Minh Hoang wrote:
> Dear Mahesh,
>
> I have just submitted the V3 patch fixing source code following your
> comment.
> I also update readme file that is attached to this email.
> Please tell me if you have any further inquiry.
>
> Thank you and best regards,
> Hoang
>
> -----Original Message-----
> From: A V Mahesh [mailto:mahesh.va...@oracle.com]
> Sent: Friday, July 29, 2016 1:27 PM
> To: Vo Minh Hoang <hoang.m...@dektech.com.au>
> Cc: opensaf-devel@lists.sourceforge.net
> Subject: Re: [PATCH 6 of 8] cpsv: Apply new messages supporting extended
> SaNameT to CPD, CPND, and CPA v1 [#1574]
>
> Hi ,
>
> I have proved some code related minor comment in 4 of 8 , 6 of 8 & 8 of
> 8 , please  address them also in new patch(s).
>
> Reading testing :
>
> On 7/29/2016 7:49 AM, Vo Minh Hoang wrote:
>> We do not have specific test case and environment for in-service update.
>> So my test work is based on osaftest cases.
>>
>> I tested with old d - new nd and new d - old nd cases.
> I started basic testing with  one new Controller  & one old Controller and
> tow Old payload setup.
> I observed some encode/decode issue  by running simple  ` /usr/bin/ckpttest`
>
> Even I was not able to proceed with other testing which not related to LONG
> DN)( continuously receiving SA_AIS_ERR_TRY_AGAIN) Please re-visit the all
> encode & decode function that you have introduced run  the basic testing
> with the above setup running application on ( old nodes/application  and new
> nodes/application )
>
> traces On Old Node ( with out patch )
>
> ============================================================================
> ====================
>
> Jul 29 11:34:16 SC-2 osafckptnd[5233]: ER cpnd mds decode failed Jul 29
> 11:34:16 SC-2 osafckptnd[5233]: ER cpnd mds decode failed Jul 29 11:34:26
> SC-2 osafckptnd[5233]: ER cpnd mds decode failed Jul 29 11:34:27 SC-2
> osafckptnd[5233]: ER cpnd mds decode failed Jul 29 11:34:27 SC-2
> osafckptnd[5233]: ER cpnd mds decode failed
>
> ============================================================================
> ======================
>
> Jul 29 11:34:04.216980 osafckptnd [5233:cpnd_mds.c:0225] >>
> cpnd_mds_callback Jul 29 11:34:04.217086 osafckptnd [5233:cpnd_mds.c:0267]
> << cpnd_mds_callback Jul 29 11:34:04.217100 osafckptnd
> [5233:cpnd_mds.c:0225] >> cpnd_mds_callback Jul 29 11:34:04.217129
> osafckptnd [5233:cpnd_mds.c:0729] << cpnd_mds_rcv Jul 29 11:34:04.217175
> osafckptnd [5233:cpnd_mds.c:0267] << cpnd_mds_callback Jul 29
> 11:34:04.217240 osafckptnd [5233:cpsv_evt.c:2219] TR cpnd <<== [9]
> CPSV_EVT_ND2ND_CKPT_SECT_CREATE_REQ(sec_id=0x0B15) from node 0x2010F Jul 29
> 11:34:04.217254 osafckptnd [5233:cpnd_evt.c:2626] >>
> cpnd_evt_proc_nd2nd_ckpt_sect_create
> Jul 29 11:34:04.217264 osafckptnd [5233:cpnd_evt.c:2632] T4 cpnd ckpt node
> get failed for ckpt_id:9 Jul 29 11:34:04.217272 osafckptnd
> [5233:cpnd_mds.c:1004] >> cpnd_mds_send_rsp Jul 29 11:34:04.217282
> osafckptnd [5233:cpsv_evt.c:2213] TR cpnd ==>> [0]
> CPSV_EVT_ND2ND_CKPT_SECT_ACTIVE_CREATE_RSP(err=6) to node 0x2010F Jul 29
> 11:34:04.217301 osafckptnd [5233:cpnd_mds.c:0225] >> cpnd_mds_callback Jul
> 29 11:34:04.217310 osafckptnd [5233:cpnd_mds.c:0291] >> cpnd_mds_enc Jul 29
> 11:34:04.217331 osafckptnd [5233:cpnd_mds.c:0267] << cpnd_mds_callback Jul
> 29 11:34:04.217464 osafckptnd [5233:cpnd_mds.c:1028] << cpnd_mds_send_rsp
> Jul 29 11:34:04.217483 osafckptnd [5233:cpnd_evt.c:2740] <<
> cpnd_evt_proc_nd2nd_ckpt_sect_create
> Jul 29 11:34:04.217493 osafckptnd [5233:cpnd_evt.c:4433] >> cpnd_evt_destroy
> Jul 29 11:34:04.217503 osafckptnd [5233:cpnd_evt.c:4619] << cpnd_evt_destroy
> Jul 29 11:34:04.719653 osafckptnd [5233:cpnd_mds.c:0225] >>
> cpnd_mds_callback Jul 29 11:34:04.719758 osafckptnd [5233:cpnd_mds.c:0267]
> << cpnd_mds_callback Jul 29 11:34:04.719772 osafckptnd
> [5233:cpnd_mds.c:0225] >> cpnd_mds_callback Jul 29 11:34:04.719801
> osafckptnd [5233:cpnd_mds.c:0729] << cpnd_mds_rcv Jul 29 11:34:04.719812
> osafckptnd [5233:cpnd_mds.c:0267] << cpnd_mds_callback
>
> ============================================================================
> =================
>
> 520|0 88 03703659 1 10|
> 520|0 88 03703659 1 11| SUCCESS       : ckpt with all flags on created
> 520|0 88 03703659 1 12| Return Value  : SA_AIS_OK
> 520|0 88 03703659 1 13|
> 520|0 88 03703659 1 14| SUCCESS       : Unlinked ckpt all replica
> 520|0 88 03703659 1 15| Return Value  : SA_AIS_OK
> 520|0 88 03703659 1 16|
> 520|0 88 03703659 1 17| FAILED        : Section 11 created in ckpt
> 520|0 88 03703659 1 18| Return Value  : SA_AIS_ERR_TRY_AGAIN
>
> ============================================================================
> =================
>
> -AVM
>
>
> On 7/29/2016 7:49 AM, Vo Minh Hoang wrote:
>> Dear Mahesh,
>>
>> We do not have specific test case and environment for in-service update.
>> So my test work is based on osaftest cases.
>>
>> I tested with old d - new nd and new d - old nd cases.
>> There are failed test cases but after investigating, they are
>> intensional when old one cannot recognize new message.
>> The only problem found is record to ticket #1922 and it is not related
>> to long DN problem.
>>
>> Thank you and best regards,
>> Hoang
>>
>> -----Original Message-----
>> From: A V Mahesh [mailto:mahesh.va...@oracle.com]
>> Sent: Thursday, July 28, 2016 4:04 PM
>> To: Hoang Vo <hoang.m...@dektech.com.au>
>> Cc: opensaf-devel@lists.sourceforge.net
>> Subject: Re: [PATCH 6 of 8] cpsv: Apply new messages supporting
>> extended SaNameT to CPD, CPND, and CPA v1 [#1574]
>>
>> Hi Hoang,
>>
>> I just started reviewing please share following :
>>
>> I hope this Long DN should support In-service upgrade ,  if so,
>>
>> please share the test case that you run , it will help me in reviewing
>>
>> and  in test uncovered  use/test cases.
>>
>> -AVM
>>
>>
>> On 7/21/2016 3:04 PM, Hoang Vo wrote:
>>>     osaf/libs/agents/saf/cpa/cpa_api.c      |  12 +++++++++---
>>>     osaf/libs/agents/saf/cpa/cpa_mds.c      |   2 +-
>>>     osaf/libs/common/cpsv/cpsv_evt.c        |   1 +
>>>     osaf/services/saf/cpsv/cpd/cpd_evt.c    |  10 +++++++---
>>>     osaf/services/saf/cpsv/cpd/cpd_mds.c    |   3 ++-
>>>     osaf/services/saf/cpsv/cpd/cpd_proc.c   |   2 +-
>>>     osaf/services/saf/cpsv/cpnd/cpnd_evt.c  |  26
> ++++++++++++++++----------
>>>     osaf/services/saf/cpsv/cpnd/cpnd_mds.c  |   4 ++--
>>>     osaf/services/saf/cpsv/cpnd/cpnd_proc.c |   6 +++---
>>>     9 files changed, 42 insertions(+), 24 deletions(-)
>>>
>>>
>>> diff --git a/osaf/libs/agents/saf/cpa/cpa_api.c
>>> b/osaf/libs/agents/saf/cpa/cpa_api.c
>>> --- a/osaf/libs/agents/saf/cpa/cpa_api.c
>>> +++ b/osaf/libs/agents/saf/cpa/cpa_api.c
>>> @@ -880,6 +880,8 @@ SaAisErrorT saCkptCheckpointOpen(SaCkptH
>>>             }
>>>     
>>>             ckpt_name = osaf_extended_name_borrow(checkpointName);
>>> +   if (strlen(ckpt_name) >= kOsafMaxDnLength)
>>> +           return SA_AIS_ERR_INVALID_PARAM;
>>>     
>>>             /* SA_AIS_ERR_INVALID_PARAM, bullet 4 in SAI-AIS-CKPT-B.02.02
>>>                Section 3.6.1 saCkptCheckpointOpen() and
>>> saCkptCheckpointOpenAsync(), Return Values */ @@ -981,7 +983,7 @@
>> SaAisErrorT saCkptCheckpointOpen(SaCkptH
>>>             /* Populate & Send the Open Event to CPND */
>>>             memset(&evt, 0, sizeof(CPSV_EVT));
>>>             evt.type = CPSV_EVT_TYPE_CPND;
>>> -   evt.info.cpnd.type = CPND_EVT_A2ND_CKPT_OPEN;
>>> +   evt.info.cpnd.type = CPND_EVT_A2ND_CKPT_OPEN_2;
>>>             evt.info.cpnd.info.openReq.client_hdl = ckptHandle;
>>>             evt.info.cpnd.info.openReq.lcl_ckpt_hdl = lc_node->lcl_ckpt_hdl;
>>>     
>>> @@ -1192,6 +1194,8 @@ SaAisErrorT saCkptCheckpointOpenAsync(Sa
>>>             }
>>>     
>>>             ckpt_name = osaf_extended_name_borrow(checkpointName);
>>> +   if (strlen(ckpt_name) >= kOsafMaxDnLength)
>>> +           return SA_AIS_ERR_INVALID_PARAM;
>>>     
>>>             /* SA_AIS_ERR_INVALID_PARAM, bullet 4 in SAI-AIS-CKPT-B.02.02
>>>                Section 3.6.1 saCkptCheckpointOpen() and
>>> saCkptCheckpointOpenAsync(), Return Values */ @@ -1277,7 +1281,7 @@
>> SaAisErrorT saCkptCheckpointOpenAsync(Sa
>>>             /* Populate & Send the Open Event to CPND */
>>>             memset(&evt, 0, sizeof(CPSV_EVT));
>>>             evt.type = CPSV_EVT_TYPE_CPND;
>>> -   evt.info.cpnd.type = CPND_EVT_A2ND_CKPT_OPEN;
>>> +   evt.info.cpnd.type = CPND_EVT_A2ND_CKPT_OPEN_2;
>>>             evt.info.cpnd.info.openReq.client_hdl = ckptHandle;
>>>             evt.info.cpnd.info.openReq.lcl_ckpt_hdl = lc_node->lcl_ckpt_hdl;
>>>     
>>> @@ -1597,6 +1601,8 @@ SaAisErrorT saCkptCheckpointUnlink(SaCkp
>>>             }
>>>     
>>>             ckpt_name = osaf_extended_name_borrow(checkpointName);
>>> +   if (strlen(ckpt_name) >= kOsafMaxDnLength)
>>> +           return SA_AIS_ERR_INVALID_PARAM;
>>>     
>>>             /* retrieve CPA CB */
>>>             m_CPA_RETRIEVE_CB(cb);
>>> @@ -1635,7 +1641,7 @@ SaAisErrorT saCkptCheckpointUnlink(SaCkp
>>>             /* Populate evt.info.cpnd.info.unlinkReq & Call MDS sync Send */
>>>             memset(&evt, 0, sizeof(CPSV_EVT));
>>>             evt.type = CPSV_EVT_TYPE_CPND;
>>> -   evt.info.cpnd.type = CPND_EVT_A2ND_CKPT_UNLINK;
>>> +   evt.info.cpnd.type = CPND_EVT_A2ND_CKPT_UNLINK_2;
>>>     
>>>             osaf_extended_name_lend(ckpt_name,
>>> &evt.info.cpnd.info.ulinkReq.ckpt_name);
>>>     
>>> diff --git a/osaf/libs/agents/saf/cpa/cpa_mds.c
>>> b/osaf/libs/agents/saf/cpa/cpa_mds.c
>>> --- a/osaf/libs/agents/saf/cpa/cpa_mds.c
>>> +++ b/osaf/libs/agents/saf/cpa/cpa_mds.c
>>> @@ -515,7 +515,7 @@ static uint32_t cpa_mds_svc_evt(CPA_CB *
>>>                        /* Populate & Send the Open Event to CPND */
>>>                        memset(&evt, 0, sizeof(CPSV_EVT));
>>>                        evt.type = CPSV_EVT_TYPE_CPND;
>>> -              evt.info.cpnd.type = CPND_EVT_A2ND_CKPT_LIST_UPDATE;
>>> +              evt.info.cpnd.type = CPND_EVT_A2ND_CKPT_LIST_UPDATE_2;
>>>                        evt.info.cpnd.info.ckptListUpdate.client_hdl =
>> lc_node->cl_hdl;
>>>                        osaf_extended_name_lend(lc_node->ckpt_name,
>>> &evt.info.cpnd.info.ckptListUpdate.ckpt_name);
>>>     
>>> diff --git a/osaf/libs/common/cpsv/cpsv_evt.c
>>> b/osaf/libs/common/cpsv/cpsv_evt.c
>>> --- a/osaf/libs/common/cpsv/cpsv_evt.c
>>> +++ b/osaf/libs/common/cpsv/cpsv_evt.c
>>> @@ -2414,6 +2414,7 @@ uint32_t cpsv_encode_extended_name(NCS_U
>>>             if(!osaf_is_an_extended_name(name))
>>>                     return NCSCC_RC_SUCCESS;
>>>     
>>> +   TRACE("length = %d", name->length);
>>>             SaConstStringT value = osaf_extended_name_borrow(name);
>>>             uint16_t length = osaf_extended_name_length(name);
>>>     
>>> diff --git a/osaf/services/saf/cpsv/cpd/cpd_evt.c
>>> b/osaf/services/saf/cpsv/cpd/cpd_evt.c
>>> --- a/osaf/services/saf/cpsv/cpd/cpd_evt.c
>>> +++ b/osaf/services/saf/cpsv/cpd/cpd_evt.c
>>> @@ -110,6 +110,7 @@ void cpd_process_evt(CPSV_EVT *evt)
>>>                     (void)cpd_evt_proc_timer_expiry(cb, &evt->info.cpd);
>>>                     break;
>>>             case CPD_EVT_ND2D_CKPT_CREATE:
>>> +   case CPD_EVT_ND2D_CKPT_CREATE_2:
>>>                     (void)cpd_evt_proc_ckpt_create(cb, &evt->info.cpd,
>> &evt->sinfo);
>>>                     break;
>>>             case CPD_EVT_ND2D_CKPT_USR_INFO:
>>> @@ -119,6 +120,7 @@ void cpd_process_evt(CPSV_EVT *evt)
>>>                     (void)cpd_evt_proc_ckpt_sec_info_upd(cb, &evt->info.cpd,
>> &evt->sinfo);
>>>                     break;
>>>             case CPD_EVT_ND2D_CKPT_UNLINK:
>>> +   case CPD_EVT_ND2D_CKPT_UNLINK_2:
>>>                     (void)cpd_evt_proc_ckpt_unlink(cb, &evt->info.cpd,
>> &evt->sinfo);
>>>                     break;
>>>             case CPD_EVT_ND2D_CKPT_RDSET:
>>> @@ -131,12 +133,14 @@ void cpd_process_evt(CPSV_EVT *evt)
>>>                     (void)cpd_evt_proc_ckpt_destroy(cb, &evt->info.cpd,
>> &evt->sinfo);
>>>                     break;
>>>             case CPD_EVT_ND2D_CKPT_DESTROY_BYNAME:
>>> +   case CPD_EVT_ND2D_CKPT_DESTROY_BYNAME_2:
>>>                     (void)cpd_evt_proc_ckpt_destroy_byname(cb, 
>>> &evt->info.cpd,
>> &evt->sinfo);
>>>                     break;
>>>             case CPD_EVT_MDS_QUIESCED_ACK_RSP:
>>>                     (void)cpd_evt_mds_quiesced_ack_rsp(cb, &evt->info.cpd,
>> &evt->sinfo);
>>>                     break;
>>>             case CPD_EVT_ND2D_CKPT_INFO_UPDATE:
>>> +   case CPD_EVT_ND2D_CKPT_INFO_UPDATE_2:
>>>                     (void)cpd_evt_proc_ckpt_info_upd(cb, &evt->info.cpd,
>> &evt->sinfo);
>>>                     break;
>>>     
>>> @@ -1484,15 +1488,15 @@ static uint32_t cpd_evt_proc_mds_evt(CPD
>>>     static void cpd_evt_free(CPSV_EVT *evt)
>>>     {
>>>             switch (evt->info.cpd.type) {
>>> -   case CPD_EVT_ND2D_CKPT_CREATE:
>>> +   case CPD_EVT_ND2D_CKPT_CREATE_2:
>>>                     if
>> (osaf_is_an_extended_name(&evt->info.cpd.info.ckpt_create.ckpt_name))
>>>                             free((void
>> *)osaf_extended_name_borrow(&evt->info.cpd.info.ckpt_create.ckpt_name)
>> );
>>>                     break;
>>> -   case CPD_EVT_ND2D_CKPT_UNLINK:
>>> +   case CPD_EVT_ND2D_CKPT_UNLINK_2:
>>>                     if
>> (osaf_is_an_extended_name(&evt->info.cpd.info.ckpt_ulink.ckpt_name))
>>>                             free((void
>> *)osaf_extended_name_borrow(&evt->info.cpd.info.ckpt_ulink.ckpt_name))
>> ;
>>>                     break;
>>> -   case CPD_EVT_ND2D_CKPT_DESTROY_BYNAME:
>>> +   case CPD_EVT_ND2D_CKPT_DESTROY_BYNAME_2:
>>>                     if
>> (osaf_is_an_extended_name(&evt->info.cpd.info.ckpt_destroy_byname.ckpt
>> _name)
>> )
>>>                             free((void
>> *)osaf_extended_name_borrow(&evt->info.cpd.info.ckpt_destroy_byname.ck
>> pt_nam
>> e));
>>>                     break;
>>> diff --git a/osaf/services/saf/cpsv/cpd/cpd_mds.c
>>> b/osaf/services/saf/cpsv/cpd/cpd_mds.c
>>> --- a/osaf/services/saf/cpsv/cpd/cpd_mds.c
>>> +++ b/osaf/services/saf/cpsv/cpd/cpd_mds.c
>>> @@ -333,7 +333,7 @@ static uint32_t cpd_mds_enc(CPD_CB *cb,
>>>     
>>>                     if (pevt->type == CPSV_EVT_TYPE_CPND) {
>>>                             switch (pevt->info.cpnd.type) {
>>> -                   case CPND_EVT_D2ND_CKPT_CREATE:
>>> +                   case CPND_EVT_D2ND_CKPT_CREATE_2:
>>>     
>>>                                     pstream = ncs_enc_reserve_space(io_uba, 
>>> 12);
>>>                                     if (!pstream)
>>> @@ -431,6 +431,7 @@ static uint32_t cpd_mds_dec(CPD_CB *cb,
>>>                                     return rc;
>>>     
>>>                             case CPD_EVT_ND2D_CKPT_INFO_UPDATE:
>>> +                   case CPD_EVT_ND2D_CKPT_INFO_UPDATE_2:
>>>                                     ncs_dec_skip_space(dec_info->io_uba, 8);
>>>                                     rc =
>> cpsv_nd2d_ckpt_info_update_decode(&msg_ptr->info.cpd.info.ckpt_info,
>> dec_info->io_uba);
>>>                                     if (rc != NCSCC_RC_SUCCESS) {
>>> diff --git a/osaf/services/saf/cpsv/cpd/cpd_proc.c
>>> b/osaf/services/saf/cpsv/cpd/cpd_proc.c
>>> --- a/osaf/services/saf/cpsv/cpd/cpd_proc.c
>>> +++ b/osaf/services/saf/cpsv/cpd/cpd_proc.c
>>> @@ -61,7 +61,7 @@ uint32_t cpd_noncolloc_ckpt_rep_create(C
>>>             /* Send the Replica create info to CPND */
>>>             memset(&send_evt, 0, sizeof(CPSV_EVT));
>>>             send_evt.type = CPSV_EVT_TYPE_CPND;
>>> -   send_evt.info.cpnd.type = CPND_EVT_D2ND_CKPT_CREATE;
>>> +   send_evt.info.cpnd.type = CPND_EVT_D2ND_CKPT_CREATE_2;
>>>     
>>>             osaf_extended_name_lend(map_info->ckpt_name,
>>> &send_evt.info.cpnd.info.ckpt_create.ckpt_name);
>>>     
>>> diff --git a/osaf/services/saf/cpsv/cpnd/cpnd_evt.c
>>> b/osaf/services/saf/cpsv/cpnd/cpnd_evt.c
>>> --- a/osaf/services/saf/cpsv/cpnd/cpnd_evt.c
>>> +++ b/osaf/services/saf/cpsv/cpnd/cpnd_evt.c
>>> @@ -200,6 +200,7 @@ void cpnd_process_evt(CPSV_EVT *evt)
>>>                     break;
>>>     
>>>             case CPND_EVT_A2ND_CKPT_OPEN:
>>> +   case CPND_EVT_A2ND_CKPT_OPEN_2:
>>>                     (void)cpnd_evt_proc_ckpt_open(cb, &evt->info.cpnd,
>> &evt->sinfo);
>>>                     break;
>>>     
>>> @@ -208,6 +209,7 @@ void cpnd_process_evt(CPSV_EVT *evt)
>>>                     break;
>>>     
>>>             case CPND_EVT_A2ND_CKPT_UNLINK:
>>> +   case CPND_EVT_A2ND_CKPT_UNLINK_2:
>>>                     (void)cpnd_evt_proc_ckpt_unlink(cb, &evt->info.cpnd,
>> &evt->sinfo);
>>>                     break;
>>>     
>>> @@ -313,6 +315,7 @@ void cpnd_process_evt(CPSV_EVT *evt)
>>>     
>>>             case CPND_EVT_D2ND_CKPT_CREATE: /* happens for non-collocated 
>>> and
>> received
>>>                                                        by CPNDs on SCXB */
>>> +   case CPND_EVT_D2ND_CKPT_CREATE_2:
>>>                     (void)cpnd_evt_proc_ckpt_create(cb, &evt->info.cpnd,
>> &evt->sinfo);
>>>                     break;
>>>     
>>> @@ -360,6 +363,7 @@ void cpnd_process_evt(CPSV_EVT *evt)
>>>                     break;
>>>     
>>>             case CPND_EVT_A2ND_CKPT_LIST_UPDATE:
>>> +   case CPND_EVT_A2ND_CKPT_LIST_UPDATE_2:
>>>                     (void) cpnd_evt_proc_ckpt_ckpt_list_update(cb,
>> &evt->info.cpnd, &evt->sinfo);
>>>                     break;
>>>     
>>> @@ -708,7 +712,7 @@ static uint32_t cpnd_evt_proc_ckpt_open(
>>>     
>>>             /* ckpt is not present locally */
>>>             /* if not present send to cpd,get the details...
>>> -      Send the CPD_EVT_ND2D_CKPT_CREATE evt to CPD to get the ckpt
>> details
>>> +      Send the CPD_EVT_ND2D_CKPT_CREATE_2 evt to CPD to get the ckpt
>>> +details
>>>                Fill send_evt.info.cpd.info.ckpt_create */
>>>             if (sinfo->stype == MDS_SENDTYPE_SNDRSP) {
>>>                     timeout =
>>> m_CPSV_CONVERT_SATIME_TEN_MILLI_SEC(evt->info.openReq.timeout);
>>> @@ -718,7 +722,7 @@ static uint32_t cpnd_evt_proc_ckpt_open(
>>>                     timeout = CPSV_WAIT_TIME;
>>>     
>>>             send_evt.type = CPSV_EVT_TYPE_CPD;
>>> -   send_evt.info.cpd.type = CPD_EVT_ND2D_CKPT_CREATE;
>>> +   send_evt.info.cpd.type = CPD_EVT_ND2D_CKPT_CREATE_2;
>>>     
>>>             osaf_extended_name_lend(ckpt_name,
>> &send_evt.info.cpd.info.ckpt_create.ckpt_name);
>>>             send_evt.info.cpd.info.ckpt_create.attributes =
>>> evt->info.openReq.ckpt_attrib; @@ -743,7 +747,7 @@ static uint32_t
>>> cpnd_evt_proc_ckpt_open(
>>>     
>>>                             memset(node, '\0',
>> sizeof(CPND_CPD_DEFERRED_REQ_NODE));
>>>                             node->evt.type = CPSV_EVT_TYPE_CPD;
>>> -                   node->evt.info.cpd.type =
>> CPD_EVT_ND2D_CKPT_DESTROY_BYNAME;
>>> +                   node->evt.info.cpd.type =
>> CPD_EVT_ND2D_CKPT_DESTROY_BYNAME_2;
>>>                             osaf_extended_name_lend(ckpt_name,
>>> &node->evt.info.cpd.info.ckpt_destroy_byname.ckpt_name);
>>>     
>>>                             ncs_enqueue(&cb->cpnd_cpd_deferred_reqs_list, 
>>> (void
>> *)node); @@
>>> -1151,7 +1155,7 @@ static uint32_t cpnd_evt_proc_ckpt_unlin
>>>             }
>>>     
>>>             send_evt.type = CPSV_EVT_TYPE_CPD;
>>> -   send_evt.info.cpd.type = CPD_EVT_ND2D_CKPT_UNLINK;
>>> +   send_evt.info.cpd.type = CPD_EVT_ND2D_CKPT_UNLINK_2;
>>>             send_evt.info.cpd.info.ckpt_ulink.ckpt_name =
>>> evt->info.ulinkReq.ckpt_name;
>>>     
>>>             rc = cpnd_mds_msg_sync_send(cb, NCSMDS_SVC_ID_CPD,
>>> cb->cpd_mdest_id, &send_evt, &out_evt, CPSV_WAIT_TIME); @@ -3954,13
>> +3958,13 @@ static uint32_t cpnd_proc_cpd_new_active
>>>                                     TRACE_4("cpnd cpd new active destroy 
>>> failed
>> with error:%d",out_evt->info.cpnd.info.destroy_ack.error);
>>>                             }
>>>                             break;
>>> -           case CPD_EVT_ND2D_CKPT_DESTROY_BYNAME:
>>> +           case CPD_EVT_ND2D_CKPT_DESTROY_BYNAME_2:
>>>                             if (out_evt &&
>> out_evt->info.cpnd.info.destroy_ack.error != SA_AIS_OK) {
>>>                                     TRACE_4("cpnd cpd new active destroy 
>>> byname
>> failed with error:%d",out_evt->info.cpnd.info.destroy_ack.error);
>>>                             }
>>>                             break;
>>>     
>>> -           case CPD_EVT_ND2D_CKPT_UNLINK:
>>> +           case CPD_EVT_ND2D_CKPT_UNLINK_2:
>>>                             if (out_evt &&
>> out_evt->info.cpnd.info.ulink_ack.error != SA_AIS_OK) {
>>>                                     TRACE_4("cpnd cpd new active unlink 
>>> failed
>> with error:%d",out_evt->info.cpnd.info.ulink_ack.error);
>>>                             }
>>> @@ -4628,16 +4632,18 @@ uint32_t cpnd_evt_destroy(CPSV_EVT *evt)
>>>                             }
>>>                             break;
>>>                     }
>>> -   } else if (evt->info.cpnd.type == CPND_EVT_A2ND_CKPT_OPEN) {
>>> +   } else if (evt->info.cpnd.type == CPND_EVT_A2ND_CKPT_OPEN_2) {
>>>                     if
>> (osaf_is_an_extended_name(&evt->info.cpnd.info.openReq.ckpt_name))
>>>                             free((void
>> *)osaf_extended_name_borrow(&evt->info.cpnd.info.openReq.ckpt_name));
>>> -   } else if (evt->info.cpnd.type == CPND_EVT_A2ND_CKPT_UNLINK) {
>>> +   } else if (evt->info.cpnd.type == CPND_EVT_A2ND_CKPT_UNLINK_2) {
>>>                     if
>> (osaf_is_an_extended_name(&evt->info.cpnd.info.ulinkReq.ckpt_name))
>>>                             free((void
>> *)osaf_extended_name_borrow(&evt->info.cpnd.info.ulinkReq.ckpt_name));
>>> -   } else if (evt->info.cpnd.type == CPND_EVT_A2ND_CKPT_LIST_UPDATE) {
>>> +   } else if (evt->info.cpnd.type == CPND_EVT_A2ND_CKPT_LIST_UPDATE_2)
>>> +{
>>>                     if
>> (osaf_is_an_extended_name(&evt->info.cpnd.info.ckptListUpdate.ckpt_nam
>> e))
>>>                             free((void
>> *)osaf_extended_name_borrow(&evt->info.cpnd.info.ckptListUpdate.ckpt_n
>> ame));
>>> -   } else if (evt->info.cpnd.type == CPND_EVT_D2ND_CKPT_CREATE) {
>>> +   } else if (evt->info.cpnd.type == CPND_EVT_D2ND_CKPT_CREATE_2) {
>>> +           if (evt->info.cpnd.info.ckpt_create.ckpt_info.dest_list !=
>> NULL)
>>> +                   
>>> +m_MMGR_FREE_CPSV_SYS_MEMORY(evt->info.cpnd.info.ckpt_create.ckpt_inf
>>> +o
>>> +.dest_list);
>>>                     if
>> (osaf_is_an_extended_name(&evt->info.cpnd.info.ckpt_create.ckpt_name))
>>>                             free((void
>> *)osaf_extended_name_borrow(&evt->info.cpnd.info.ckpt_create.ckpt_name
>> ));
>>>             }
>>> diff --git a/osaf/services/saf/cpsv/cpnd/cpnd_mds.c
>>> b/osaf/services/saf/cpsv/cpnd/cpnd_mds.c
>>> --- a/osaf/services/saf/cpsv/cpnd/cpnd_mds.c
>>> +++ b/osaf/services/saf/cpsv/cpnd/cpnd_mds.c
>>> @@ -425,7 +425,7 @@ static uint32_t cpnd_mds_enc(CPND_CB *cb
>>>                                     TRACE_LEAVE();
>>>                                     return rc;
>>>     
>>> -                   case CPD_EVT_ND2D_CKPT_INFO_UPDATE:
>>> +                   case CPD_EVT_ND2D_CKPT_INFO_UPDATE_2:
>>>                                     pstream = ncs_enc_reserve_space(io_uba, 
>>> 8);
>>>                                     if (!pstream)
>>>                                             return
>> m_CPSV_DBG_SINK(NCSCC_RC_FAILURE, @@ -593,7 +593,7 @@
>>> static uint32_t cpnd_mds_dec(CPND_CB *cb
>>>                                     rc =
>> cpsv_refcnt_ckptid_decode(&msg_ptr->info.cpnd.info.refCntsetReq,dec_in
>> fo->io
>> _uba);
>>>                                     goto free;
>>>     
>>> -                   case CPND_EVT_D2ND_CKPT_CREATE:
>>> +                   case CPND_EVT_D2ND_CKPT_CREATE_2:
>>>                                     ncs_dec_skip_space(dec_info->io_uba, 
>>> 12);
>>>                                     rc =
>> cpsv_d2nd_ckpt_create_2_decode(&msg_ptr->info.cpnd.info.ckpt_create,
>> dec_info->io_uba);
>>>                                     goto free;
>>> diff --git a/osaf/services/saf/cpsv/cpnd/cpnd_proc.c
>>> b/osaf/services/saf/cpsv/cpnd/cpnd_proc.c
>>> --- a/osaf/services/saf/cpsv/cpnd/cpnd_proc.c
>>> +++ b/osaf/services/saf/cpsv/cpnd/cpnd_proc.c
>>> @@ -2529,7 +2529,7 @@ void cpnd_proc_ckpt_info_update(CPND_CB
>>>                     LOG_NO("cpnd_proc_update_cpd_data::ckpt_name = 
>>> %s[%llu]",
>> (char*)ckpt_node->ckpt_name,
>>>                             ckpt_node->ckpt_id);
>>>                     send_evt.type = CPSV_EVT_TYPE_CPD;
>>> -           send_evt.info.cpd.type = CPD_EVT_ND2D_CKPT_INFO_UPDATE;
>>> +           send_evt.info.cpd.type = CPD_EVT_ND2D_CKPT_INFO_UPDATE_2;
>>>                     send_evt.info.cpd.info.ckpt_info.ckpt_id =
>> ckpt_node->ckpt_id;
>>>                     osaf_extended_name_lend(ckpt_node->ckpt_name,
>> &send_evt.info.cpd.info.ckpt_info.ckpt_name);
>>>                     send_evt.info.cpd.info.ckpt_info.attributes =
>>> ckpt_node->create_attrib; @@ -2550,12 +2550,12 @@ void
>> cpnd_proc_ckpt_info_update(CPND_CB
>>>                     else
>>>                             send_evt.info.cpd.info.ckpt_info.is_last = 
>>> false;
>>>     
>>> -           LOG_NO("cpnd_proc_update_cpd_data::send
>> CPD_EVT_ND2D_CKPT_INFO_UPDATE");
>>> +           LOG_NO("cpnd_proc_update_cpd_data::send
>>> +CPD_EVT_ND2D_CKPT_INFO_UPDATE_2");
>>>                     rc = cpnd_mds_msg_sync_send(cb, NCSMDS_SVC_ID_CPD,
>> cb->cpd_mdest_id, &send_evt, &out_evt,
>>>                                                 CPSV_WAIT_TIME);
>>>     
>>>                     if (rc != NCSCC_RC_SUCCESS) {
>>> -                   LOG_ER("cpnd_proc_update_cpd_data::fail to send
>> CPD_EVT_ND2D_CKPT_INFO_UPDATE");
>>> +                   LOG_ER("cpnd_proc_update_cpd_data::fail to send
>>> +CPD_EVT_ND2D_CKPT_INFO_UPDATE_2");
>>>                     }
>>>     
>>>                     if (out_evt == NULL) {


------------------------------------------------------------------------------
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are 
consuming the most bandwidth. Provides multi-vendor support for NetFlow, 
J-Flow, sFlow and other flows. Make informed decisions using capacity 
planning reports. http://sdm.link/zohodev2dev
_______________________________________________
Opensaf-devel mailing list
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to