[devel] [PATCH 4 of 8] cpsv: Add new message to support extended SaNameT v1 [#1574]
osaf/libs/common/cpsv/cpsv_evt.c | 504 ++- osaf/libs/common/cpsv/include/cpsv_evt.h | 24 + osaf/services/saf/cpsv/cpd/cpd_mds.c | 84 - osaf/services/saf/cpsv/cpnd/cpnd_mds.c | 84 - 4 files changed, 668 insertions(+), 28 deletions(-) New messages supporting extended SaNameT are introduce. Encoding and decoding funtions for them are also included. 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 @@ -30,11 +30,14 @@ #include "cpsv.h" #include "cpa_tmr.h" +#include "osaf_extended_name.h" FUNC_DECLARATION(CPSV_CKPT_DATA); static SaCkptSectionIdT *cpsv_evt_dec_sec_id(NCS_UBAID *i_ub, uint32_t svc_id); static uint32_t cpsv_evt_enc_sec_id(NCS_UBAID *o_ub, SaCkptSectionIdT *sec_id); static void cpsv_convert_sec_id_to_string(char *sec_id_str, SaCkptSectionIdT *section_id); +static uint32_t cpsv_encode_extended_name_flat(NCS_UBAID *uba, SaNameT *name); +static uint32_t cpsv_decode_extended_name_flat(NCS_UBAID *uba, SaNameT *name); const char *cpa_evt_str[] = { "STRING_0", @@ -258,6 +261,13 @@ char* cpsv_evt_str(CPSV_EVT *evt, char * info->client_hdl, info->ckpt_name.value); break; } + case CPND_EVT_A2ND_CKPT_OPEN_2: + { + CPSV_A2ND_OPEN_REQ *info = &evt->info.cpnd.info.openReq; + snprintf(o_evt_str, len, "CPND_EVT_A2ND_CKPT_OPEN_2(hdl=%llu, %s)", + info->client_hdl, osaf_extended_name_borrow(&info->ckpt_name)); + break; + } case CPND_EVT_A2ND_CKPT_CLOSE: { CPSV_A2ND_CKPT_CLOSE *info = &evt->info.cpnd.info.closeReq; @@ -271,6 +281,12 @@ char* cpsv_evt_str(CPSV_EVT *evt, char * snprintf(o_evt_str, len, "CPND_EVT_A2ND_CKPT_UNLINK(%s)", info->ckpt_name.value); break; } + case CPND_EVT_A2ND_CKPT_UNLINK_2: + { + CPSV_A2ND_CKPT_UNLINK *info = &evt->info.cpnd.info.ulinkReq; + snprintf(o_evt_str, len, "CPND_EVT_A2ND_CKPT_UNLINK_2(%s)", osaf_extended_name_borrow(&info->ckpt_name)); + break; + } case CPND_EVT_A2ND_CKPT_RDSET: { CPSV_A2ND_RDSET *info = &evt->info.cpnd.info.rdsetReq; @@ -513,12 +529,33 @@ char* cpsv_evt_str(CPSV_EVT *evt, char * case CPND_EVT_D2ND_CKPT_CREATE: { CPSV_D2ND_CKPT_CREATE *info = &evt->info.cpnd.info.ckpt_create; - snprintf(o_evt_str, len, "[%llu] CPND_EVT_D2ND_CKPT_CREATE(%s, create_rep=%s, active=0x%X)", - info->ckpt_info.ckpt_id, info->ckpt_name.value, + snprintf(o_evt_str, len, "[%llu] CPND_EVT_D2ND_CKPT_CREATE(%s, create_rep=%s, is_act=%s, active=0x%X, dest_cnt=%d)", + info->ckpt_info.ckpt_id, osaf_extended_name_borrow(&info->ckpt_name), info->ckpt_info.ckpt_rep_create ? "true" : "false", - m_NCS_NODE_ID_FROM_MDS_DEST(info->ckpt_info.active_dest)); + info->ckpt_info.is_active_exists ? "true" : "false", + m_NCS_NODE_ID_FROM_MDS_DEST(info->ckpt_info.active_dest), + info->ckpt_info.dest_cnt); break; } + case CPND_EVT_D2ND_CKPT_CREATE_2: + { + CPSV_D2ND_CKPT_CREATE *info = &evt->info.cpnd.info.ckpt_create; + snprintf(o_evt_str, len, "[%llu] CPND_EVT_D2ND_CKPT_CREATE_2(%s, create_rep=%s, is_act=%s, active=0x%X, dest_cnt=%d)", + info->ckpt_info.ckpt_id, osaf_extended_name_borrow(&info->ckpt_name), + info->ckpt_info.ckpt_rep_create ? "true" : "false", + info->ckpt_info.is_active_exists ? "true" : "false", + m_NCS_NODE_ID_FROM_MDS_DEST(info->ckpt_info.active_dest), + info->ckpt_info.dest_cnt); + + SaCkptCheckpointCreationAttributesT *attr = &info->ckpt_info.attributes; + TRACE("mSecS=%lld, flags=%d, mSec=%d, mSecIdS=%lld, ret=%lld, ckptS=%lld", attr->maxSectionSize, + attr->creationFlags, attr->maxSections, attr->maxSectionIdSize, attr->retentionDuration, + attr->checkpointSize); + for (int i = 0; i < info->ckpt_info.dest_cnt; i++) + TRACE("dest[%d] = 0x%" PRIX64 " ", i, info->ckpt_i
Re: [devel] [PATCH 4 of 8] cpsv: Add new message to support extended SaNameT v1 [#1574]
Hi Hoang, Minor comment -AVM On 7/21/2016 3:04 PM, Hoang Vo wrote: > osaf/libs/common/cpsv/cpsv_evt.c | 504 > ++- > osaf/libs/common/cpsv/include/cpsv_evt.h | 24 + > osaf/services/saf/cpsv/cpd/cpd_mds.c | 84 - > osaf/services/saf/cpsv/cpnd/cpnd_mds.c | 84 - > 4 files changed, 668 insertions(+), 28 deletions(-) > > > New messages supporting extended SaNameT are introduce. Encoding and decoding > funtions for them are also included. > > 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 > @@ -30,11 +30,14 @@ > > #include "cpsv.h" > #include "cpa_tmr.h" > +#include "osaf_extended_name.h" > > FUNC_DECLARATION(CPSV_CKPT_DATA); > static SaCkptSectionIdT *cpsv_evt_dec_sec_id(NCS_UBAID *i_ub, uint32_t > svc_id); > static uint32_t cpsv_evt_enc_sec_id(NCS_UBAID *o_ub, SaCkptSectionIdT > *sec_id); > static void cpsv_convert_sec_id_to_string(char *sec_id_str, > SaCkptSectionIdT *section_id); > +static uint32_t cpsv_encode_extended_name_flat(NCS_UBAID *uba, SaNameT > *name); > +static uint32_t cpsv_decode_extended_name_flat(NCS_UBAID *uba, SaNameT > *name); > > const char *cpa_evt_str[] = { > "STRING_0", > @@ -258,6 +261,13 @@ char* cpsv_evt_str(CPSV_EVT *evt, char * > info->client_hdl, info->ckpt_name.value); > break; > } > + case CPND_EVT_A2ND_CKPT_OPEN_2: > + { > + CPSV_A2ND_OPEN_REQ *info = &evt->info.cpnd.info.openReq; > + snprintf(o_evt_str, len, > "CPND_EVT_A2ND_CKPT_OPEN_2(hdl=%llu, %s)", > + info->client_hdl, > osaf_extended_name_borrow(&info->ckpt_name)); > + break; > + } > case CPND_EVT_A2ND_CKPT_CLOSE: > { > CPSV_A2ND_CKPT_CLOSE *info = > &evt->info.cpnd.info.closeReq; > @@ -271,6 +281,12 @@ char* cpsv_evt_str(CPSV_EVT *evt, char * > snprintf(o_evt_str, len, > "CPND_EVT_A2ND_CKPT_UNLINK(%s)", info->ckpt_name.value); > break; > } > + case CPND_EVT_A2ND_CKPT_UNLINK_2: > + { > + CPSV_A2ND_CKPT_UNLINK *info = > &evt->info.cpnd.info.ulinkReq; > + snprintf(o_evt_str, len, > "CPND_EVT_A2ND_CKPT_UNLINK_2(%s)", > osaf_extended_name_borrow(&info->ckpt_name)); > + break; > + } > case CPND_EVT_A2ND_CKPT_RDSET: > { > CPSV_A2ND_RDSET *info = &evt->info.cpnd.info.rdsetReq; > @@ -513,12 +529,33 @@ char* cpsv_evt_str(CPSV_EVT *evt, char * > case CPND_EVT_D2ND_CKPT_CREATE: > { > CPSV_D2ND_CKPT_CREATE *info = > &evt->info.cpnd.info.ckpt_create; > - snprintf(o_evt_str, len, "[%llu] > CPND_EVT_D2ND_CKPT_CREATE(%s, create_rep=%s, active=0x%X)", > - info->ckpt_info.ckpt_id, info->ckpt_name.value, > + snprintf(o_evt_str, len, "[%llu] > CPND_EVT_D2ND_CKPT_CREATE(%s, create_rep=%s, is_act=%s, active=0x%X, > dest_cnt=%d)", > + info->ckpt_info.ckpt_id, > osaf_extended_name_borrow(&info->ckpt_name), > info->ckpt_info.ckpt_rep_create ? "true" : > "false", > - > m_NCS_NODE_ID_FROM_MDS_DEST(info->ckpt_info.active_dest)); > + info->ckpt_info.is_active_exists ? "true" : > "false", > + > m_NCS_NODE_ID_FROM_MDS_DEST(info->ckpt_info.active_dest), > + info->ckpt_info.dest_cnt); > break; > } > + case CPND_EVT_D2ND_CKPT_CREATE_2: > + { > + CPSV_D2ND_CKPT_CREATE *info = > &evt->info.cpnd.info.ckpt_create; > + snprintf(o_evt_str, len, "[%llu] > CPND_EVT_D2ND_CKPT_CREATE_2(%s, create_rep=%s, is_act=%s, active=0x%X, > dest_cnt=%d)", > + info->ckpt_info.ckpt_id, > osaf_extended_name_borrow(&info->ckpt_name), > + info->ckpt_info.ckpt_rep_create ? "true" : > "false", > + info->ckpt_info.is_active_exists ? "true" : > "false", > + > m_NCS_NODE_ID_FROM_MDS_DEST(info->ckpt_info.active_dest), > + info->ckpt_info.dest_cnt); > + > + SaCkptCheckpointCreationAttributesT *attr = > &info->ckpt_info.attributes; > + TRACE("mSecS=%lld, flags=%d, mSec=%d, mSecIdS=%lld, > ret=%lld, ckptS=%lld", attr->maxSectionSize, > + attr->creationFlags, attr->maxSections, > attr->maxSectionIdSize, attr->retentionDuratio
Re: [devel] [PATCH 4 of 8] cpsv: Add new message to support extended SaNameT v1 [#1574]
Hi Hoang, I am seeing new encode decodes done between D to ND , in this patch ( old cpd to new cpnd & old cpnd to new cpd ) but not able find edu rules , please confirm. Otherwise it will take unnecessary testing effort. If not handled please refer `osaf/libs/common/cpsv/cpsv_edu.c ` file for MSG_FORMAT_VER handling or any old patches -AVM On 8/2/2016 2:14 PM, Hoang Vo wrote: > osaf/libs/common/cpsv/cpsv_evt.c | 504 > ++- > osaf/libs/common/cpsv/include/cpsv_evt.h | 24 + > osaf/services/saf/cpsv/cpd/cpd_mds.c | 84 - > osaf/services/saf/cpsv/cpnd/cpnd_mds.c | 84 - > 4 files changed, 668 insertions(+), 28 deletions(-) > > > New messages supporting extended SaNameT are introduce. Encoding and decoding > funtions for them are also included. > > 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 > @@ -30,11 +30,14 @@ > > #include "cpsv.h" > #include "cpa_tmr.h" > +#include "osaf_extended_name.h" > > FUNC_DECLARATION(CPSV_CKPT_DATA); > static SaCkptSectionIdT *cpsv_evt_dec_sec_id(NCS_UBAID *i_ub, uint32_t > svc_id); > static uint32_t cpsv_evt_enc_sec_id(NCS_UBAID *o_ub, SaCkptSectionIdT > *sec_id); > static void cpsv_convert_sec_id_to_string(char *sec_id_str, > SaCkptSectionIdT *section_id); > +static uint32_t cpsv_encode_extended_name_flat(NCS_UBAID *uba, SaNameT > *name); > +static uint32_t cpsv_decode_extended_name_flat(NCS_UBAID *uba, SaNameT > *name); > > const char *cpa_evt_str[] = { > "STRING_0", > @@ -258,6 +261,13 @@ char* cpsv_evt_str(CPSV_EVT *evt, char * > info->client_hdl, info->ckpt_name.value); > break; > } > + case CPND_EVT_A2ND_CKPT_OPEN_2: > + { > + CPSV_A2ND_OPEN_REQ *info = &evt->info.cpnd.info.openReq; > + snprintf(o_evt_str, len, > "CPND_EVT_A2ND_CKPT_OPEN_2(hdl=%llu, %s)", > + info->client_hdl, > osaf_extended_name_borrow(&info->ckpt_name)); > + break; > + } > case CPND_EVT_A2ND_CKPT_CLOSE: > { > CPSV_A2ND_CKPT_CLOSE *info = > &evt->info.cpnd.info.closeReq; > @@ -271,6 +281,12 @@ char* cpsv_evt_str(CPSV_EVT *evt, char * > snprintf(o_evt_str, len, > "CPND_EVT_A2ND_CKPT_UNLINK(%s)", info->ckpt_name.value); > break; > } > + case CPND_EVT_A2ND_CKPT_UNLINK_2: > + { > + CPSV_A2ND_CKPT_UNLINK *info = > &evt->info.cpnd.info.ulinkReq; > + snprintf(o_evt_str, len, > "CPND_EVT_A2ND_CKPT_UNLINK_2(%s)", > osaf_extended_name_borrow(&info->ckpt_name)); > + break; > + } > case CPND_EVT_A2ND_CKPT_RDSET: > { > CPSV_A2ND_RDSET *info = &evt->info.cpnd.info.rdsetReq; > @@ -513,12 +529,33 @@ char* cpsv_evt_str(CPSV_EVT *evt, char * > case CPND_EVT_D2ND_CKPT_CREATE: > { > CPSV_D2ND_CKPT_CREATE *info = > &evt->info.cpnd.info.ckpt_create; > - snprintf(o_evt_str, len, "[%llu] > CPND_EVT_D2ND_CKPT_CREATE(%s, create_rep=%s, active=0x%X)", > - info->ckpt_info.ckpt_id, info->ckpt_name.value, > + snprintf(o_evt_str, len, "[%llu] > CPND_EVT_D2ND_CKPT_CREATE(%s, create_rep=%s, is_act=%s, active=0x%X, > dest_cnt=%d)", > + info->ckpt_info.ckpt_id, > osaf_extended_name_borrow(&info->ckpt_name), > info->ckpt_info.ckpt_rep_create ? "true" : > "false", > - > m_NCS_NODE_ID_FROM_MDS_DEST(info->ckpt_info.active_dest)); > + info->ckpt_info.is_active_exists ? "true" : > "false", > + > m_NCS_NODE_ID_FROM_MDS_DEST(info->ckpt_info.active_dest), > + info->ckpt_info.dest_cnt); > break; > } > + case CPND_EVT_D2ND_CKPT_CREATE_2: > + { > + CPSV_D2ND_CKPT_CREATE *info = > &evt->info.cpnd.info.ckpt_create; > + snprintf(o_evt_str, len, "[%llu] > CPND_EVT_D2ND_CKPT_CREATE_2(%s, create_rep=%s, is_act=%s, active=0x%X, > dest_cnt=%d)", > + info->ckpt_info.ckpt_id, > osaf_extended_name_borrow(&info->ckpt_name), > + info->ckpt_info.ckpt_rep_create ? "true" : > "false", > + info->ckpt_info.is_active_exists ? "true" : > "false", > + > m_NCS_NODE_ID_FROM_MDS_DEST(info->ckpt_info.active_dest), > + info->ckpt_info.dest_cnt); > + > +
Re: [devel] [PATCH 4 of 8] cpsv: Add new message to support extended SaNameT v1 [#1574]
Dear Mahesh, Encode and decode for new messages are implemented in separate functions like *_encode() and *_decode() so they do not exist in *_edu.c file. I find only MDS_CLIENT_MSG_FORMAT_VER and I think that I should not update this each time adding new message. I am sorry if it is wrong. Thank you very much for your review. Best regards, Hoang -Original Message- From: A V Mahesh [mailto:mahesh.va...@oracle.com] Sent: Wednesday, August 10, 2016 6:37 PM To: Hoang Vo Cc: opensaf-devel@lists.sourceforge.net Subject: Re: [PATCH 4 of 8] cpsv: Add new message to support extended SaNameT v1 [#1574] Hi Hoang, I am seeing new encode decodes done between D to ND , in this patch ( old cpd to new cpnd & old cpnd to new cpd ) but not able find edu rules , please confirm. Otherwise it will take unnecessary testing effort. If not handled please refer `osaf/libs/common/cpsv/cpsv_edu.c ` file for MSG_FORMAT_VER handling or any old patches -AVM On 8/2/2016 2:14 PM, Hoang Vo wrote: > osaf/libs/common/cpsv/cpsv_evt.c | 504 ++- > osaf/libs/common/cpsv/include/cpsv_evt.h | 24 + > osaf/services/saf/cpsv/cpd/cpd_mds.c | 84 - > osaf/services/saf/cpsv/cpnd/cpnd_mds.c | 84 - > 4 files changed, 668 insertions(+), 28 deletions(-) > > > New messages supporting extended SaNameT are introduce. Encoding and decoding funtions for them are also included. > > 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 > @@ -30,11 +30,14 @@ > > #include "cpsv.h" > #include "cpa_tmr.h" > +#include "osaf_extended_name.h" > > FUNC_DECLARATION(CPSV_CKPT_DATA); > static SaCkptSectionIdT *cpsv_evt_dec_sec_id(NCS_UBAID *i_ub, uint32_t svc_id); > static uint32_t cpsv_evt_enc_sec_id(NCS_UBAID *o_ub, SaCkptSectionIdT *sec_id); > static void cpsv_convert_sec_id_to_string(char *sec_id_str, > SaCkptSectionIdT *section_id); > +static uint32_t cpsv_encode_extended_name_flat(NCS_UBAID *uba, > +SaNameT *name); static uint32_t > +cpsv_decode_extended_name_flat(NCS_UBAID *uba, SaNameT *name); > > const char *cpa_evt_str[] = { > "STRING_0", > @@ -258,6 +261,13 @@ char* cpsv_evt_str(CPSV_EVT *evt, char * > info->client_hdl, info->ckpt_name.value); > break; > } > + case CPND_EVT_A2ND_CKPT_OPEN_2: > + { > + CPSV_A2ND_OPEN_REQ *info = &evt->info.cpnd.info.openReq; > + snprintf(o_evt_str, len, "CPND_EVT_A2ND_CKPT_OPEN_2(hdl=%llu, %s)", > + info->client_hdl, osaf_extended_name_borrow(&info->ckpt_name)); > + break; > + } > case CPND_EVT_A2ND_CKPT_CLOSE: > { > CPSV_A2ND_CKPT_CLOSE *info = &evt->info.cpnd.info.closeReq; @@ > -271,6 +281,12 @@ char* cpsv_evt_str(CPSV_EVT *evt, char * > snprintf(o_evt_str, len, "CPND_EVT_A2ND_CKPT_UNLINK(%s)", info->ckpt_name.value); > break; > } > + case CPND_EVT_A2ND_CKPT_UNLINK_2: > + { > + CPSV_A2ND_CKPT_UNLINK *info = &evt->info.cpnd.info.ulinkReq; > + snprintf(o_evt_str, len, "CPND_EVT_A2ND_CKPT_UNLINK_2(%s)", osaf_extended_name_borrow(&info->ckpt_name)); > + break; > + } > case CPND_EVT_A2ND_CKPT_RDSET: > { > CPSV_A2ND_RDSET *info = &evt->info.cpnd.info.rdsetReq; @@ -513,12 > +529,33 @@ char* cpsv_evt_str(CPSV_EVT *evt, char * > case CPND_EVT_D2ND_CKPT_CREATE: > { > CPSV_D2ND_CKPT_CREATE *info = &evt->info.cpnd.info.ckpt_create; > - snprintf(o_evt_str, len, "[%llu] CPND_EVT_D2ND_CKPT_CREATE(%s, create_rep=%s, active=0x%X)", > - info->ckpt_info.ckpt_id, info->ckpt_name.value, > + snprintf(o_evt_str, len, "[%llu] CPND_EVT_D2ND_CKPT_CREATE(%s, create_rep=%s, is_act=%s, active=0x%X, dest_cnt=%d)", > + info->ckpt_info.ckpt_id, > +osaf_extended_name_borrow(&info->ckpt_name), > info->ckpt_info.ckpt_rep_create ? "true" : "false", > - m_NCS_NODE_ID_FROM_MDS_DEST(info->ckpt_info.active_dest)); > + info->ckpt_info.is_active_exists ? "true" : "false", > + m_NCS_NODE_ID_FROM_MDS_DEST(info->ckpt_info.active_dest), > + info->ckpt_info.dest_cnt); > break; > } > + case CPND_EVT_D2ND_CKPT_CREATE_2: > + { > + CPSV_D2ND_CKPT_CREATE *info = &evt->info.cpnd.info.ckpt_create; > + snprintf(o_evt_str, len, "[%llu] CPND_EVT_D2ND_CKPT_CREATE_2(%s, create_rep=%s, is_a
Re: [devel] [PATCH 4 of 8] cpsv: Add new message to support extended SaNameT v1 [#1574]
Hi Hoang, Ok , I will check and start testing & reviewing the patch. -AVM On 8/11/2016 10:11 AM, Vo Minh Hoang wrote: > Dear Mahesh, > > Encode and decode for new messages are implemented in separate functions > like *_encode() and *_decode() so they do not exist in *_edu.c file. > > I find only MDS_CLIENT_MSG_FORMAT_VER and I think that I should not update > this each time adding new message. I am sorry if it is wrong. > > Thank you very much for your review. > Best regards, > Hoang > > -Original Message- > From: A V Mahesh [mailto:mahesh.va...@oracle.com] > Sent: Wednesday, August 10, 2016 6:37 PM > To: Hoang Vo > Cc: opensaf-devel@lists.sourceforge.net > Subject: Re: [PATCH 4 of 8] cpsv: Add new message to support extended > SaNameT v1 [#1574] > > Hi Hoang, > > I am seeing new encode decodes done between D to ND , in this patch ( old > cpd to new cpnd & old cpnd to new cpd ) but not able find edu rules , > please confirm. > > Otherwise it will take unnecessary testing effort. > > If not handled please refer `osaf/libs/common/cpsv/cpsv_edu.c ` file for > MSG_FORMAT_VER handling or any old patches > > -AVM > > > On 8/2/2016 2:14 PM, Hoang Vo wrote: >>osaf/libs/common/cpsv/cpsv_evt.c | 504 > ++- >>osaf/libs/common/cpsv/include/cpsv_evt.h | 24 + >>osaf/services/saf/cpsv/cpd/cpd_mds.c | 84 - >>osaf/services/saf/cpsv/cpnd/cpnd_mds.c | 84 - >>4 files changed, 668 insertions(+), 28 deletions(-) >> >> >> New messages supporting extended SaNameT are introduce. Encoding and > decoding funtions for them are also included. >> 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 >> @@ -30,11 +30,14 @@ >> >>#include "cpsv.h" >>#include "cpa_tmr.h" >> +#include "osaf_extended_name.h" >> >>FUNC_DECLARATION(CPSV_CKPT_DATA); >>static SaCkptSectionIdT *cpsv_evt_dec_sec_id(NCS_UBAID *i_ub, uint32_t > svc_id); >>static uint32_t cpsv_evt_enc_sec_id(NCS_UBAID *o_ub, SaCkptSectionIdT > *sec_id); >>static void cpsv_convert_sec_id_to_string(char *sec_id_str, >> SaCkptSectionIdT *section_id); >> +static uint32_t cpsv_encode_extended_name_flat(NCS_UBAID *uba, >> +SaNameT *name); static uint32_t >> +cpsv_decode_extended_name_flat(NCS_UBAID *uba, SaNameT *name); >> >>const char *cpa_evt_str[] = { >> "STRING_0", >> @@ -258,6 +261,13 @@ char* cpsv_evt_str(CPSV_EVT *evt, char * >> info->client_hdl, info->ckpt_name.value); >> break; >> } >> +case CPND_EVT_A2ND_CKPT_OPEN_2: >> +{ >> +CPSV_A2ND_OPEN_REQ *info = > &evt->info.cpnd.info.openReq; >> +snprintf(o_evt_str, len, > "CPND_EVT_A2ND_CKPT_OPEN_2(hdl=%llu, %s)", >> +info->client_hdl, > osaf_extended_name_borrow(&info->ckpt_name)); >> +break; >> +} >> case CPND_EVT_A2ND_CKPT_CLOSE: >> { >> CPSV_A2ND_CKPT_CLOSE *info = > &evt->info.cpnd.info.closeReq; @@ >> -271,6 +281,12 @@ char* cpsv_evt_str(CPSV_EVT *evt, char * >> snprintf(o_evt_str, len, > "CPND_EVT_A2ND_CKPT_UNLINK(%s)", info->ckpt_name.value); >> break; >> } >> +case CPND_EVT_A2ND_CKPT_UNLINK_2: >> +{ >> +CPSV_A2ND_CKPT_UNLINK *info = > &evt->info.cpnd.info.ulinkReq; >> +snprintf(o_evt_str, len, > "CPND_EVT_A2ND_CKPT_UNLINK_2(%s)", > osaf_extended_name_borrow(&info->ckpt_name)); >> +break; >> +} >> case CPND_EVT_A2ND_CKPT_RDSET: >> { >> CPSV_A2ND_RDSET *info = > &evt->info.cpnd.info.rdsetReq; @@ -513,12 >> +529,33 @@ char* cpsv_evt_str(CPSV_EVT *evt, char * >> case CPND_EVT_D2ND_CKPT_CREATE: >> { >> CPSV_D2ND_CKPT_CREATE *info = > &evt->info.cpnd.info.ckpt_create; >> -snprintf(o_evt_str, len, "[%llu] > CPND_EVT_D2ND_CKPT_CREATE(%s, create_rep=%s, active=0x%X)", >> -info->ckpt_info.ckpt_id, > info->ckpt_name.value, >> +snprintf(o_evt_str, len, "[%llu] > CPND_EVT_D2ND_CKPT_CREATE(%s, create_rep=%s, is_act=%s, active=0x%X, > dest_cnt=%d)", >> +info->ckpt_info.ckpt_id, >> +osaf_extended_name_borrow(&info->ckpt_name), >> info->ckpt_info.ckpt_rep_create ? "true" : > "false", >> - > m_NCS_NODE_ID_FROM_MDS_DEST(info->ckpt_info.active_dest)); >> +info->ckpt_info.is_active_exists ? "true" : > "false", >> + > m_NCS_NODE_ID_FROM_MDS_DEST(info->ckpt_info.active_dest), >> +info->ckpt_info.dest_cnt); >> break; >> }
Re: [devel] [PATCH 4 of 8] cpsv: Add new message to support extended SaNameT v1 [#1574]
Hi Hoang, I completed the testing most of the in service & normal test case are working fine , so I stated reviewing code now can please answer below : 1) This patch introduced multiple new event between Agent to ND which are always local to the node ( in a new version software cpa & cpnd will always co-exist ) their no concept OLD CPA communicating with NEW CPND , so it is not required introduce new event we can alwasy make exist event compatible with new support extended SaNameT , so remove new event merge the content in to a single exist old event . = /* Events support extended SaNameT */ CPND_EVT_A2ND_CKPT_OPEN_2,/* Checkpoint Open Request */ CPND_EVT_A2ND_CKPT_UNLINK_2,/* Checkpoint Unlink Call */ CPND_EVT_A2ND_CKPT_LIST_UPDATE_2,/* Checkpoint ckpt list update Call */ CPND_EVT_D2ND_CKPT_CREATE_2,/* ckpt create evt for Non-collocated */ = -AVM On 7/21/2016 3:04 PM, Hoang Vo wrote: > osaf/libs/common/cpsv/cpsv_evt.c | 504 > ++- > osaf/libs/common/cpsv/include/cpsv_evt.h | 24 + > osaf/services/saf/cpsv/cpd/cpd_mds.c | 84 - > osaf/services/saf/cpsv/cpnd/cpnd_mds.c | 84 - > 4 files changed, 668 insertions(+), 28 deletions(-) > > > New messages supporting extended SaNameT are introduce. Encoding and decoding > funtions for them are also included. > > 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 > @@ -30,11 +30,14 @@ > > #include "cpsv.h" > #include "cpa_tmr.h" > +#include "osaf_extended_name.h" > > FUNC_DECLARATION(CPSV_CKPT_DATA); > static SaCkptSectionIdT *cpsv_evt_dec_sec_id(NCS_UBAID *i_ub, uint32_t > svc_id); > static uint32_t cpsv_evt_enc_sec_id(NCS_UBAID *o_ub, SaCkptSectionIdT > *sec_id); > static void cpsv_convert_sec_id_to_string(char *sec_id_str, > SaCkptSectionIdT *section_id); > +static uint32_t cpsv_encode_extended_name_flat(NCS_UBAID *uba, SaNameT > *name); > +static uint32_t cpsv_decode_extended_name_flat(NCS_UBAID *uba, SaNameT > *name); > > const char *cpa_evt_str[] = { > "STRING_0", > @@ -258,6 +261,13 @@ char* cpsv_evt_str(CPSV_EVT *evt, char * > info->client_hdl, info->ckpt_name.value); > break; > } > + case CPND_EVT_A2ND_CKPT_OPEN_2: > + { > + CPSV_A2ND_OPEN_REQ *info = &evt->info.cpnd.info.openReq; > + snprintf(o_evt_str, len, > "CPND_EVT_A2ND_CKPT_OPEN_2(hdl=%llu, %s)", > + info->client_hdl, > osaf_extended_name_borrow(&info->ckpt_name)); > + break; > + } > case CPND_EVT_A2ND_CKPT_CLOSE: > { > CPSV_A2ND_CKPT_CLOSE *info = > &evt->info.cpnd.info.closeReq; > @@ -271,6 +281,12 @@ char* cpsv_evt_str(CPSV_EVT *evt, char * > snprintf(o_evt_str, len, > "CPND_EVT_A2ND_CKPT_UNLINK(%s)", info->ckpt_name.value); > break; > } > + case CPND_EVT_A2ND_CKPT_UNLINK_2: > + { > + CPSV_A2ND_CKPT_UNLINK *info = > &evt->info.cpnd.info.ulinkReq; > + snprintf(o_evt_str, len, > "CPND_EVT_A2ND_CKPT_UNLINK_2(%s)", > osaf_extended_name_borrow(&info->ckpt_name)); > + break; > + } > case CPND_EVT_A2ND_CKPT_RDSET: > { > CPSV_A2ND_RDSET *info = &evt->info.cpnd.info.rdsetReq; > @@ -513,12 +529,33 @@ char* cpsv_evt_str(CPSV_EVT *evt, char * > case CPND_EVT_D2ND_CKPT_CREATE: > { > CPSV_D2ND_CKPT_CREATE *info = > &evt->info.cpnd.info.ckpt_create; > - snprintf(o_evt_str, len, "[%llu] > CPND_EVT_D2ND_CKPT_CREATE(%s, create_rep=%s, active=0x%X)", > - info->ckpt_info.ckpt_id, info->ckpt_name.value, > + snprintf(o_evt_str, len, "[%llu] > CPND_EVT_D2ND_CKPT_CREATE(%s, create_rep=%s, is_act=%s, active=0x%X, > dest_cnt=%d)", > + info->ckpt_info.ckpt_id, > osaf_extended_name_borrow(&info->ckpt_name), > info->ckpt_info.ckpt_rep_create ? "true" : > "false", > - > m_NCS_NODE_ID_FROM_MDS_DEST(info->ckpt_info.active_dest)); > + info->ckpt_info.is_active_exists ? "true" : > "false", > + > m_NCS_NODE_ID_FROM_MDS_DEST(info->ckpt_info.active_dest), > + info->ckpt_info.dest_cnt); > break; > } > + case CPND_EVT_D2ND_CKPT_CREATE_2: > + { > +