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;

Attachment: 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

Reply via email to