Dear Mahesh, Thank you very much for your comment. I start working on it from now.
Sincerely, 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) { > ------------------------------------------------------------------------------ _______________________________________________ Opensaf-devel mailing list Opensaf-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/opensaf-devel