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