Dear Mahesh, I would like to send updated patch following your comment. When this is minor comment, I send it as attached file.
Sincerely, Hoang -----Original Message----- From: A V Mahesh [mailto:mahesh.va...@oracle.com] Sent: Monday, August 22, 2016 1:02 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 [#1574] v4 Hi Hoang, ACK for [PATCH 6 of 8] with following minor comment I think CPND should return SA_AIS_ERR_TOO_BIG = 26 instead of SA_AIS_ERR_INVALID_PARAM ( please sync-up with other service return values ). Note : tested default functionality , LONG DN functionality not tested in full fledged -AVM On 8/18/2016 12:48 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_proc.c | 2 +- > osaf/services/saf/cpsv/cpnd/cpnd_evt.c | 2 ++ > osaf/services/saf/cpsv/cpnd/cpnd_proc.c | 2 +- > 6 files changed, 18 insertions(+), 3 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,10 @@ SaAisErrorT saCkptCheckpointOpen(SaCkptH > } > > ckpt_name = osaf_extended_name_borrow(checkpointName); > + if (strlen(ckpt_name) >= kOsafMaxDnLength) { > + TRACE_LEAVE2("API return code = %u", SA_AIS_ERR_INVALID_PARAM); > + 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 */ @@ -1192,6 +1196,10 @@ SaAisErrorT saCkptCheckpointOpenAsync(Sa > } > > ckpt_name = osaf_extended_name_borrow(checkpointName); > + if (strlen(ckpt_name) >= kOsafMaxDnLength) { > + TRACE_LEAVE2("API return code = %u", SA_AIS_ERR_INVALID_PARAM); > + 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 */ @@ -1597,6 +1605,10 @@ SaAisErrorT saCkptCheckpointUnlink(SaCkp > } > > ckpt_name = osaf_extended_name_borrow(checkpointName); > + if (strlen(ckpt_name) >= kOsafMaxDnLength) { > + TRACE_LEAVE2("API return code = %u", SA_AIS_ERR_INVALID_PARAM); > + return SA_AIS_ERR_INVALID_PARAM; > + } > > /* retrieve CPA CB */ > m_CPA_RETRIEVE_CB(cb); > 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,9 +515,9 @@ 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.info.ckptListUpdate.client_hdl = lc_node->cl_hdl; > osaf_extended_name_lend(lc_node->ckpt_name, > &evt.info.cpnd.info.ckptListUpdate.ckpt_name); > + evt.info.cpnd.type = CPND_EVT_A2ND_CKPT_LIST_UPDATE; > > proc_rc = cpa_mds_msg_send(cb->cpa_mds_hdl, &cb->cpnd_mds_dest, > &evt, NCSMDS_SVC_ID_CPND); > > 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 > @@ -2378,6 +2378,7 @@ static uint32_t cpsv_encode_extended_nam > 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_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,9 +61,9 @@ 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; > > osaf_extended_name_lend(map_info->ckpt_name, > &send_evt.info.cpnd.info.ckpt_create.ckpt_name); > + send_evt.info.cpnd.type = CPND_EVT_D2ND_CKPT_CREATE; > > d2nd_info = &send_evt.info.cpnd.info.ckpt_create.ckpt_info; > > 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 > @@ -4638,6 +4638,8 @@ uint32_t cpnd_evt_destroy(CPSV_EVT *evt) > if (osaf_is_an_extended_name(&evt->info.cpnd.info.ckptListUpdate.ckpt_name)) > free((void *)osaf_extended_name_borrow(&evt->info.cpnd.info.ckptListUpdate.ckpt_name)); > } else if (evt->info.cpnd.type == CPND_EVT_D2ND_CKPT_CREATE) { > + 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_info > +.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_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,9 +2529,9 @@ 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.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.type = CPD_EVT_ND2D_CKPT_INFO_UPDATE; > send_evt.info.cpd.info.ckpt_info.attributes = ckpt_node->create_attrib; > send_evt.info.cpd.info.ckpt_info.ckpt_flags = ckpt_node->open_flags; > send_evt.info.cpd.info.ckpt_info.num_users = > ckpt_node->ckpt_lcl_ref_cnt;
1574_cpsv_uses_extended_name_message_v5.patch
Description: Binary data
------------------------------------------------------------------------------
_______________________________________________ Opensaf-devel mailing list Opensaf-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/opensaf-devel