Hi Nhat Pham,
I had look at the final TRACE content of CPND & CPD ,
in some of the TRACE content like sec_id looks incorrect, and in some
cases the node id being printed `node 0x0` my be we required
conditional check,
so attached the CPND traces for your reference. ( file is large so
attaching to Ticket) ,can you please have a look at it.
==============================================================================================
Sep 22 11:54:27.620455 osafckptnd [3966:cpnd_mds.c:1100] TR cpnd ==>>
[225] CPSV_EVT_ND2ND_CKPT_SECT_CREATE_REQ(sec_id=
) to node 0x2020F
Sep 22 11:54:27.622399 osafckptnd [3966:cpnd_mds.c:1013] TR cpnd ==>>
[0] CPA_EVT_ND2A_SEC_CREATE_RSP(err=1, sec_id=
+ðl, mdest=0) to node 0x2010F
Sep 22 11:55:07.669729 osafckptnd [3966:cpnd_mds.c:1100] TR cpnd ==>>
[225] CPSV_EVT_ND2ND_CKPT_SECT_CREATE_REQ(sec_id={) to node 0x2020F
Sep 22 10:23:40.809995 osafckptnd [7858:cpnd_res.c:1029] <<
cpnd_write_ckpt_info: cpnd ckpt info write success ckpt_id:d
Sep 22 11:53:17.373083 osafckptnd [3966:cpnd_evt.c:0184] TR cpnd <<==
[222] CPND_EVT_A2ND_CKPT_SECT_CREATE(sec_id=
, mdest=2010FD2000040) from node 0x2010F
Sep 22 10:23:41.016193 osafckptnd [7858:cpnd_evt.c:0184] TR cpnd <<==
[18] CPND_EVT_D2ND_CKPT_RDSET(START(2), time=0) from node 0x0
==============================================================================================
-AVM
On 9/14/2015 1:11 PM, Nhat Pham wrote:
> osaf/libs/agents/saf/cpa/cpa_mds.c | 10 +-
> osaf/libs/agents/saf/cpa/cpa_proc.c | 4 +
> osaf/libs/common/cpsv/cpsv_evt.c | 838
> +++++++++++++++++++++++++++++++
> osaf/libs/common/cpsv/include/cpsv_evt.h | 2 +
> osaf/services/saf/cpsv/cpd/cpd_db.c | 1 +
> osaf/services/saf/cpsv/cpd/cpd_evt.c | 3 +
> osaf/services/saf/cpsv/cpd/cpd_mds.c | 24 +-
> osaf/services/saf/cpsv/cpd/cpd_proc.c | 3 +-
> osaf/services/saf/cpsv/cpnd/cpnd_evt.c | 9 +-
> osaf/services/saf/cpsv/cpnd/cpnd_mds.c | 32 +-
> 10 files changed, 918 insertions(+), 8 deletions(-)
>
>
> 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
> @@ -763,11 +763,16 @@ uint32_t cpa_mds_msg_sync_send(uint32_t
> mds_info.info.svc_send.info.sndrsp.i_time_to_wait = timeout; /*
> timeto wait in 10ms */
> mds_info.info.svc_send.info.sndrsp.i_to_dest = *destination;
>
> + char evt_str[MAX_EVT_STR_LEN] = {0};
> + TRACE("cpa ==>> %s to node 0x%X", cpsv_evt_str(i_evt, evt_str,
> MAX_EVT_STR_LEN), m_NCS_NODE_ID_FROM_MDS_DEST(*destination));
> +
> /* send the message */
> rc = ncsmds_api(&mds_info);
>
> - if (rc == NCSCC_RC_SUCCESS)
> + if (rc == NCSCC_RC_SUCCESS) {
> *o_evt = mds_info.info.svc_send.info.sndrsp.o_rsp;
> + TRACE("cpa <<== %s from node 0x%X", cpsv_evt_str(*o_evt,
> evt_str, MAX_EVT_STR_LEN), m_NCS_NODE_ID_FROM_MDS_DEST(*destination));
> + }
>
> TRACE_LEAVE2("retval = %u",rc);
> return rc;
> @@ -810,6 +815,9 @@ uint32_t cpa_mds_msg_send(uint32_t cpa_m
> /* fill the send rsp strcuture */
> mds_info.info.svc_send.info.snd.i_to_dest = *destination;
>
> + char evt_str[MAX_EVT_STR_LEN] = {0};
> + TRACE("cpa ==>> %s to node 0x%X", cpsv_evt_str(i_evt, evt_str,
> MAX_EVT_STR_LEN), m_NCS_NODE_ID_FROM_MDS_DEST(*destination));
> +
> /* send the message */
> rc = ncsmds_api(&mds_info);
>
> diff --git a/osaf/libs/agents/saf/cpa/cpa_proc.c
> b/osaf/libs/agents/saf/cpa/cpa_proc.c
> --- a/osaf/libs/agents/saf/cpa/cpa_proc.c
> +++ b/osaf/libs/agents/saf/cpa/cpa_proc.c
> @@ -732,6 +732,10 @@ static void cpa_proc_active_nd_down_bcas
> uint32_t cpa_process_evt(CPA_CB *cb, CPSV_EVT *evt)
> {
> uint32_t rc = NCSCC_RC_SUCCESS;
> + char evt_str[MAX_EVT_STR_LEN] = {0};
> +
> + TRACE("cpa <<== %s from node 0x%X", cpsv_evt_str(evt, evt_str,
> MAX_EVT_STR_LEN),
> + m_NCS_NODE_ID_FROM_MDS_DEST(evt->sinfo.dest));
>
> TRACE_ENTER();
> switch (evt->info.cpa.type) {
> 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
> @@ -29,11 +29,849 @@
> */
>
> #include "cpsv.h"
> +#include "cpa_tmr.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);
>
> +const char *cpa_evt_str[] = {
> + "STRING_0",
> +
> + /* Locally generated events */
> + "CPA_EVT_MDS_INFO", /* CPND UP/DOWN Info */
> + "CPA_EVT_TIME_OUT", /* Time out events at CPA */
> +
> + /* Events from CPND */
> +
> + "CPA_EVT_ND2A_CKPT_INIT_RSP",
> + "CPA_EVT_ND2A_CKPT_FINALIZE_RSP",
> + "CPA_EVT_ND2A_CKPT_OPEN_RSP",
> + "CPA_EVT_ND2A_CKPT_CLOSE_RSP",
> + "CPA_EVT_ND2A_CKPT_UNLINK_RSP",
> + "CPA_EVT_ND2A_CKPT_RDSET_RSP",
> + "CPA_EVT_ND2A_CKPT_AREP_SET_RSP",
> + "CPA_EVT_ND2A_CKPT_STATUS",
> +
> + "CPA_EVT_ND2A_SEC_CREATE_RSP",
> + "CPA_EVT_ND2A_SEC_DELETE_RSP",
> + "CPA_EVT_ND2A_SEC_EXPTIME_RSP",
> + "CPA_EVT_ND2A_SEC_ITER_RSP",
> + "CPA_EVT_ND2A_SEC_ITER_GETNEXT_RSP",
> +
> + "CPA_EVT_ND2A_CKPT_ARRIVAL_NTFY",
> +
> + "CPA_EVT_ND2A_CKPT_DATA_RSP",
> +
> + "CPA_EVT_ND2A_CKPT_SYNC_RSP",
> + "CPA_EVT_D2A_ACT_CKPT_INFO_BCAST_SEND",
> + "CPA_EVT_ND2A_CKPT_READ_ACK_RSP",
> + "CPA_EVT_ND2A_CKPT_BCAST_SEND",
> + "CPA_EVT_D2A_NDRESTART",
> + "CPA_EVT_CB_DUMP",
> + "CPA_EVT_ND2A_CKPT_CLM_NODE_LEFT",
> + "CPA_EVT_ND2A_CKPT_CLM_NODE_JOINED",
> + "CPA_EVT_ND2A_ACT_CKPT_INFO_BCAST_SEND",
> +};
> +
> +const char* cpnd_evt_str[] = {
> + /* events from CPA to CPND */
> + "CPND_EVT_BASE = 1",
> +
> + /* Locally generated events */
> + "CPND_EVT_MDS_INFO", /* CPA/CPND/CPD UP/DOWN Info */
> + "CPND_EVT_TIME_OUT", /* Time out event */
> +
> + /* Events from CPA */
> +
> + "CPND_EVT_A2ND_CKPT_INIT", /* Checkpoint Initialization */
> + "CPND_EVT_A2ND_CKPT_FINALIZE", /* Checkpoint finalization */
> + "CPND_EVT_A2ND_CKPT_OPEN", /* Checkpoint Open Request */
> + "CPND_EVT_A2ND_CKPT_CLOSE", /* Checkpoint Close Call */
> + "CPND_EVT_A2ND_CKPT_UNLINK", /* Checkpoint Unlink Call */
> + "CPND_EVT_A2ND_CKPT_RDSET", /* Checkpoint Retention duration set
> call */
> + "CPND_EVT_A2ND_CKPT_AREP_SET", /* Checkpoint Active Replica Set Call */
> + "CPND_EVT_A2ND_CKPT_STATUS_GET", /* Checkpoint Status Get Call */
> +
> + "CPND_EVT_A2ND_CKPT_SECT_CREATE", /* Checkpoint Section Create
> Call */
> + "CPND_EVT_A2ND_CKPT_SECT_DELETE", /* Checkpoint Section Delete
> Call */
> + "CPND_EVT_A2ND_CKPT_SECT_EXP_SET", /* Checkpoint Section Expiry
> Time Set Call */
> + "CPND_EVT_A2ND_CKPT_SECT_ITER_REQ", /*Checkpoint Section iteration
> initialize */
> +
> + "CPND_EVT_A2ND_CKPT_ITER_GETNEXT", /* Checkpoint Section
> Iternation Getnext Call */
> +
> + "CPND_EVT_A2ND_ARRIVAL_CB_REG", /* Checkpoint Arrival Callback
> Register*/
> +
> + "CPND_EVT_A2ND_CKPT_WRITE", /* Checkpoint Write And overwrite call
> */
> + "CPND_EVT_A2ND_CKPT_READ", /* Checkpoint Read Call */
> + "CPND_EVT_A2ND_CKPT_SYNC", /* Checkpoint Synchronize call */
> +
> + "CPND_EVT_A2ND_CKPT_READ_ACK", /* read ack */
> +
> + /* Events from other CPND */
> +
> +/* ckpt status information from active */
> +
> + "CPND_EVT_ND2ND_ACTIVE_STATUS", /* ckpt status info from active */
> + "CPND_EVT_ND2ND_ACTIVE_STATUS_ACK", /* ckpt status ack from active
> */
> +
> + "CPND_EVT_ND2ND_CKPT_SYNC_REQ", /* rqst from ND to ND(A) to sync ckpt */
> + "CPND_EVT_ND2ND_CKPT_ACTIVE_SYNC", /* CPND(A) sync updts to All
> the Ckpts */
> +/* Section Create Stuff.... */
> +
> + "CPSV_EVT_ND2ND_CKPT_SECT_CREATE_REQ",
> + "CPSV_EVT_ND2ND_CKPT_SECT_CREATE_RSP",
> + "CPSV_EVT_ND2ND_CKPT_SECT_ACTIVE_CREATE_RSP",
> +
> + "CPSV_EVT_ND2ND_CKPT_SECT_DELETE_REQ",
> + "CPSV_EVT_ND2ND_CKPT_SECT_DELETE_RSP",
> +
> + "CPSV_EVT_ND2ND_CKPT_SECT_EXPTMR_REQ",
> + "CPSV_EVT_ND2ND_CKPT_SECT_EXPTMR_RSP",
> +
> + "CPSV_EVT_ND2ND_CKPT_SECT_DATA_ACCESS_REQ", /* for
> write,read,overwrite */
> + "CPSV_EVT_ND2ND_CKPT_SECT_ACTIVE_DATA_ACCESS_REQ",
> + "CPSV_EVT_ND2ND_CKPT_SECT_ACTIVE_DATA_ACCESS_RSP",
> +
> + /* Events from CPD to CPND */
> +
> + "CPND_EVT_D2ND_CKPT_INFO", /* Rsp to the ckpt open call */
> + "CPND_EVT_D2ND_CKPT_SIZE",
> + "CPND_EVT_D2ND_CKPT_REP_ADD", /* ckpt open is propogated to other NDs
> */
> + "CPND_EVT_D2ND_CKPT_REP_DEL", /* ckpt close is propogated to other
> NDs */
> +
> + "CPSV_D2ND_RESTART", /* for cpnd redundancy */
> + "CPSV_D2ND_RESTART_DONE", /* for cpnd redundancy */
> +
> + "CPND_EVT_D2ND_CKPT_CREATE", /* ckpt create evt for Non-collocated */
> + "CPND_EVT_D2ND_CKPT_DESTROY", /* The ckpt destroy evt for Non-colloc
> */
> + "CPND_EVT_D2ND_CKPT_DESTROY_ACK",
> + "CPND_EVT_D2ND_CKPT_CLOSE_ACK", /* Rsps to ckpt close call */
> + "CPND_EVT_D2ND_CKPT_UNLINK", /* Unlink info */
> + "CPND_EVT_D2ND_CKPT_UNLINK_ACK", /* Rsps to ckpt unlink call */
> + "CPND_EVT_D2ND_CKPT_RDSET", /* Retention duration to set */
> + "CPND_EVT_D2ND_CKPT_RDSET_ACK", /* Retention duration Ack */
> + "CPND_EVT_D2ND_CKPT_ACTIVE_SET", /* for colloc ckpts,mark the
> Active */
> + "CPND_EVT_D2ND_CKPT_ACTIVE_SET_ACK", /* Ack for active replica set
> rqst */
> +
> + "CPND_EVT_ND2ND_CKPT_ITER_NEXT_REQ",
> + "CPND_EVT_ND2ND_CKPT_ACTIVE_ITERNEXT",
> +
> + "CPND_EVT_CB_DUMP",
> +
> + "CPND_EVT_D2ND_CKPT_NUM_SECTIONS",
> + "CPND_EVT_A2ND_CKPT_REFCNTSET", /* ref cont opener's set call */
> + "CPND_EVT_A2ND_CKPT_LIST_UPDATE", /* Checkpoint ckpt list update Call */
> + "CPND_EVT_A2ND_ARRIVAL_CB_UNREG", /* Checkpoint Arrival Callback
> Un-Register*/
> +};
> +
> +const char* cpd_evt_str[] = {
> + "CPD_EVT_BASE = 1",
> +
> + /* Locally generated Events */
> + "CPD_EVT_MDS_INFO",
> +
> + /* Events from CPND */
> + "CPD_EVT_ND2D_CKPT_CREATE",
> + "CPD_EVT_ND2D_CKPT_UNLINK",
> + "CPD_EVT_ND2D_CKPT_RDSET",
> + "CPD_EVT_ND2D_ACTIVE_SET",
> + "CPD_EVT_ND2D_CKPT_CLOSE",
> + "CPD_EVT_ND2D_CKPT_DESTROY",
> + "CPD_EVT_ND2D_CKPT_USR_INFO",
> + "CPD_EVT_ND2D_CKPT_SYNC_INFO",
> + "CPD_EVT_ND2D_CKPT_SEC_INFO_UPD",
> + "CPD_EVT_ND2D_CKPT_MEM_USED",
> + "CPD_EVT_CB_DUMP",
> + "CPD_EVT_MDS_QUIESCED_ACK_RSP",
> + "CPD_EVT_ND2D_CKPT_DESTROY_BYNAME",
> + "CPD_EVT_ND2D_CKPT_CREATED_SECTIONS",
> + "CPD_EVT_TIME_OUT",
> +};
> +
> +/****************************************************************************\
> + PROCEDURE NAME : cpsv_evt_str
> +
> + DESCRIPTION : This routine will return the event string from the event
> +
> + ARGUMENTS : evt : event .
> +
> + RETURNS : None
> +
> + NOTES :
> +\*****************************************************************************/
> +char* cpsv_evt_str(CPSV_EVT *evt, char *o_evt_str, size_t len)
> +{
> + if (evt == NULL)
> + return "Invalid evt";
> +
> + if (o_evt_str == NULL)
> + return "Invalid o_evt_str";
> +
> + switch (evt->type) {
> + case CPSV_EVT_TYPE_CPND:
> + switch (evt->info.cpnd.type) {
> + case CPND_EVT_MDS_INFO:
> + {
> + CPSV_MDS_INFO *info = &evt->info.cpnd.info.mds_info;
> + snprintf(o_evt_str, len,
> "CPND_EVT_MDS_INFO(node_id=0x%X, svc=%s(%u) - %s(%u))",
> + info->node_id,
> + info->svc_id == NCSMDS_SVC_ID_CPA ? "CPA" :
> + info->svc_id == NCSMDS_SVC_ID_CPND ? "CPND" :
> + info->svc_id == NCSMDS_SVC_ID_CPD ? "CPD" :
> "OTHER",
> + info->svc_id,
> + info->change == NCSMDS_NO_ACTIVE ? "NO_ACT" :
> + info->change == NCSMDS_NEW_ACTIVE ? "NEW_ACT" :
> + info->change == NCSMDS_UP ? "UP" :
> + info->change == NCSMDS_DOWN ? "DOWN" :
> + info->change == NCSMDS_RED_UP ? "RED_UP" :
> + info->change == NCSMDS_RED_DOWN ? "RED_DOWN" :
> + info->change == NCSMDS_CHG_ROLE ? "CHG_ROLE" :
> "OTHER",
> + info->change);
> + break;
> + }
> + case CPND_EVT_TIME_OUT:
> + {
> + CPND_TMR_INFO *info = &evt->info.cpnd.info.tmr_info;
> + snprintf(o_evt_str, len, "[%llu]
> CPND_EVT_TIME_OUT(type=%s(%u))", info->ckpt_id,
> + info->type == CPND_TMR_TYPE_RETENTION ?
> "RETENTION" :
> + info->type == CPND_TMR_TYPE_SEC_EXPI ?
> "SEC_EXPI" :
> + info->type == CPND_ALL_REPL_RSP_EXPI ?
> "REPL_RSP_EXPI" :
> + info->type == CPND_TMR_OPEN_ACTIVE_SYNC ?
> "OPEN_ACTIVE_SYNC" :
> + info->type ==
> CPND_TMR_TYPE_NON_COLLOC_RETENTION ? "NON_COL_RETENTION" : "INVALID",
> + info->type);
> + break;
> + }
> + case CPND_EVT_A2ND_CKPT_INIT:
> + snprintf(o_evt_str, len, "CPND_EVT_A2ND_CKPT_INIT");
> + break;
> + case CPND_EVT_A2ND_CKPT_FINALIZE:
> + {
> + snprintf(o_evt_str, len,
> "CPND_EVT_A2ND_CKPT_FINALIZE(hdl=%llu)",
> evt->info.cpnd.info.finReq.client_hdl);
> + break;
> + }
> + case CPND_EVT_A2ND_CKPT_OPEN:
> + {
> + CPSV_A2ND_OPEN_REQ *info = &evt->info.cpnd.info.openReq;
> + snprintf(o_evt_str, len,
> "CPND_EVT_A2ND_CKPT_OPEN(hdl=%llu, %s)",
> + info->client_hdl, info->ckpt_name.value);
> + break;
> + }
> + case CPND_EVT_A2ND_CKPT_CLOSE:
> + {
> + CPSV_A2ND_CKPT_CLOSE *info =
> &evt->info.cpnd.info.closeReq;
> + snprintf(o_evt_str, len, "[%llu]
> CPND_EVT_A2ND_CKPT_CLOSE(hdl=%llu, flags=0x%X)",
> + info->ckpt_id, info->client_hdl,
> info->ckpt_flags);
> + break;
> + }
> + case CPND_EVT_A2ND_CKPT_UNLINK:
> + {
> + CPSV_A2ND_CKPT_UNLINK *info =
> &evt->info.cpnd.info.ulinkReq;
> + snprintf(o_evt_str, len,
> "CPND_EVT_A2ND_CKPT_UNLINK(%s)", info->ckpt_name.value);
> + break;
> + }
> + case CPND_EVT_A2ND_CKPT_RDSET:
> + {
> + CPSV_A2ND_RDSET *info = &evt->info.cpnd.info.rdsetReq;
> + snprintf(o_evt_str, len, "[%llu]
> CPND_EVT_A2ND_CKPT_RDSET(reten_time=%llu)", info->ckpt_id, info->reten_time);
> + break;
> + }
> + case CPND_EVT_A2ND_CKPT_AREP_SET:
> + snprintf(o_evt_str, len, "[%llu]
> CPND_EVT_A2ND_CKPT_AREP_SET", evt->info.cpnd.info.arsetReq.ckpt_id);
> + break;
> + case CPND_EVT_A2ND_CKPT_STATUS_GET:
> + snprintf(o_evt_str, len, "[%llu]
> CPND_EVT_A2ND_CKPT_STATUS_GET", evt->info.cpnd.info.statReq.ckpt_id);
> + break;
> + case CPND_EVT_A2ND_CKPT_SECT_CREATE:
> + {
> + CPSV_CKPT_SECT_CREATE *info =
> &evt->info.cpnd.info.sec_creatReq;
> + snprintf(o_evt_str, len, "[%llu]
> CPND_EVT_A2ND_CKPT_SECT_CREATE(sec_id=%s, mdest=%lX)",
> + info->ckpt_id, info->sec_attri.sectionId->id,
> info->agent_mdest);
> + break;
> + }
> + case CPND_EVT_A2ND_CKPT_SECT_DELETE:
> + {
> + CPSV_A2ND_SECT_DELETE *info =
> &evt->info.cpnd.info.sec_delReq;
> + snprintf(o_evt_str, len, "[%llu]
> CPND_EVT_A2ND_CKPT_SECT_DELETE(sec_id=%s)",
> + info->ckpt_id, info->sec_id.id);
> + break;
> + }
> + case CPND_EVT_A2ND_CKPT_SECT_EXP_SET:
> + {
> + CPSV_A2ND_SECT_EXP_TIME *info =
> &evt->info.cpnd.info.sec_expset;
> + snprintf(o_evt_str, len, "[%llu]
> CPND_EVT_A2ND_CKPT_SECT_EXP_SET(sec_id=%s, exp_time=%llu)",
> + info->ckpt_id, info->sec_id.id, info->exp_time);
> + break;
> + }
> + case CPND_EVT_A2ND_CKPT_SECT_ITER_REQ:
> + {
> + CPSV_CKPT_STATUS_GET *info =
> &evt->info.cpnd.info.sec_iter_req;
> + snprintf(o_evt_str, len, "[%llu]
> CPND_EVT_A2ND_CKPT_SECT_ITER_REQ", info->ckpt_id );
> + break;
> + }
> + case CPND_EVT_A2ND_CKPT_ITER_GETNEXT:
> + {
> + CPSV_A2ND_SECT_ITER_GETNEXT *info =
> &evt->info.cpnd.info.iter_getnext;
> + snprintf(o_evt_str, len, "[%llu]
> CPND_EVT_A2ND_CKPT_ITER_GETNEXT(sec_id=%s, filter=%s, n_secs_trav=%u,
> exp_tmr=%llu)",
> + info->ckpt_id, info->section_id.id,
> + info->filter == SA_CKPT_SECTIONS_FOREVER ?
> "FOREVER" :
> + info->filter ==
> SA_CKPT_SECTIONS_LEQ_EXPIRATION_TIME ? "LEQ_EX_TIME" :
> + info->filter ==
> SA_CKPT_SECTIONS_GEQ_EXPIRATION_TIME ? "GEQ_EX_TIME" :
> + info->filter == SA_CKPT_SECTIONS_CORRUPTED ?
> "CORRUPTED" :
> + info->filter == SA_CKPT_SECTIONS_ANY ? "ANY" :
> "INVALID",
> + info->n_secs_trav, info->exp_tmr);
> + break;
> + }
> + case CPND_EVT_A2ND_ARRIVAL_CB_REG:
> + snprintf(o_evt_str, len,
> "CPND_EVT_A2ND_ARRIVAL_CB_REG(hdl=%llu)",
> evt->info.cpnd.info.arr_ntfy.client_hdl);
> + break;
> + case CPND_EVT_A2ND_CKPT_WRITE:
> + {
> + CPSV_CKPT_ACCESS *info =
> &evt->info.cpnd.info.ckpt_write;
> + snprintf(o_evt_str, len, "[%llu]
> CPND_EVT_A2ND_CKPT_WRITE(type=%s(%d))", info->ckpt_id,
> + info->type == CPSV_CKPT_ACCESS_WRITE ? "WRITE" :
> + info->type == CPSV_CKPT_ACCESS_OVWRITE ?
> "OVWRITE" : "INVALID",
> + info->type);
> + break;
> + }
> + case CPND_EVT_A2ND_CKPT_READ:
> + {
> + CPSV_CKPT_ACCESS *info = &evt->info.cpnd.info.ckpt_read;
> + snprintf(o_evt_str, len, "[%llu]
> CPND_EVT_A2ND_CKPT_READ()", info->ckpt_id);
> + break;
> + }
> + case CPND_EVT_A2ND_CKPT_SYNC:
> + {
> + CPSV_A2ND_CKPT_SYNC *info =
> &evt->info.cpnd.info.ckpt_sync;
> + snprintf(o_evt_str, len, "[%llu]
> CPND_EVT_A2ND_CKPT_SYNC(hdl=%llu, open=%s)",
> + info->ckpt_id, info->client_hdl,
> info->is_ckpt_open ? "true" : "false");
> + break;
> + }
> + case CPND_EVT_A2ND_CKPT_READ_ACK:
> + /* This message is not used */
> + snprintf(o_evt_str, len, "CPND_EVT_A2ND_CKPT_READ_ACK");
> + break;
> + case CPND_EVT_ND2ND_ACTIVE_STATUS:
> + snprintf(o_evt_str, len, "[%llu]
> CPND_EVT_ND2ND_ACTIVE_STATUS", evt->info.cpnd.info.stat_get.ckpt_id);
> + break;
> + case CPND_EVT_ND2ND_ACTIVE_STATUS_ACK:
> + {
> + CPSV_CKPT_STATUS *info = &evt->info.cpnd.info.status;
> + snprintf(o_evt_str, len, "[%llu]
> CPND_EVT_ND2ND_ACTIVE_STATUS_ACK(err=%u, mem_used=%llu, "
> + "n_secs=%u, ckpt_size=%llu, reten=%llu,
> max_sec=%u)", info->ckpt_id, info->error,
> + info->status.memoryUsed,
> info->status.numberOfSections,
> +
> info->status.checkpointCreationAttributes.checkpointSize,
> +
> info->status.checkpointCreationAttributes.retentionDuration,
> +
> info->status.checkpointCreationAttributes.maxSections);
> + break;
> + }
> + case CPND_EVT_ND2ND_CKPT_SYNC_REQ:
> + {
> + CPSV_A2ND_CKPT_SYNC *info =
> &evt->info.cpnd.info.sync_req;
> + snprintf(o_evt_str, len, "[%llu]
> CPND_EVT_ND2ND_CKPT_SYNC_REQ(hdl=%llu, open=%s)",
> + info->ckpt_id, info->client_hdl,
> info->is_ckpt_open ? "true" : "false");
> + break;
> + }
> + case CPND_EVT_ND2ND_CKPT_ACTIVE_SYNC:
> + {
> + CPSV_CKPT_ACCESS *info =
> &evt->info.cpnd.info.ckpt_nd2nd_sync;
> + snprintf(o_evt_str, len, "[%llu]
> CPND_EVT_ND2ND_CKPT_ACTIVE_SYNC(seq_no=%u, last_seq=%u, is_open=%s)",
> + info->ckpt_id, info->seqno, info->last_seq,
> info->ckpt_sync.is_ckpt_open == true ? "true" : "false");
> + break;
> + }
> + case CPSV_EVT_ND2ND_CKPT_SECT_CREATE_REQ:
> + {
> + CPSV_CKPT_SECT_CREATE *info =
> &evt->info.cpnd.info.active_sec_creat;
> + snprintf(o_evt_str, len, "[%llu]
> CPSV_EVT_ND2ND_CKPT_SECT_CREATE_REQ(sec_id=%s)",
> + info->ckpt_id, info->sec_attri.sectionId->id);
> + break;
> + }
> + case CPSV_EVT_ND2ND_CKPT_SECT_CREATE_RSP:
> + {
> + CPSV_CKPT_SECT_INFO *info =
> &evt->info.cpnd.info.active_sec_creat_rsp;
> + snprintf(o_evt_str, len, "[%llu]
> CPSV_EVT_ND2ND_CKPT_SECT_CREATE_RSP(err=%u, sec_id=%s)",
> + info->ckpt_id, info->error, info->sec_id.id);
> + break;
> + }
> + case CPSV_EVT_ND2ND_CKPT_SECT_ACTIVE_CREATE_RSP:
> + {
> + CPSV_CKPT_SECT_INFO *info =
> &evt->info.cpnd.info.active_sec_creat_rsp;
> + snprintf(o_evt_str, len, "[%llu]
> CPSV_EVT_ND2ND_CKPT_SECT_ACTIVE_CREATE_RSP(err=%u)",
> + info->ckpt_id, info->error);
> + break;
> + }
> + case CPSV_EVT_ND2ND_CKPT_SECT_DELETE_REQ:
> + {
> + CPSV_CKPT_SECT_INFO *info =
> &evt->info.cpnd.info.sec_delete_req;
> + snprintf(o_evt_str, len, "[%llu]
> CPSV_EVT_ND2ND_CKPT_SECT_DELETE_REQ(sec_id=%s)",
> + info->ckpt_id, info->sec_id.id);
> + break;
> + }
> + case CPSV_EVT_ND2ND_CKPT_SECT_DELETE_RSP:
> + snprintf(o_evt_str, len,
> "CPSV_EVT_ND2ND_CKPT_SECT_DELETE_RSP(err=%u)",
> evt->info.cpnd.info.sec_delete_rsp.error);
> + break;
> + case CPSV_EVT_ND2ND_CKPT_SECT_EXPTMR_REQ:
> + {
> + CPSV_A2ND_SECT_EXP_TIME *info =
> &evt->info.cpnd.info.sec_exp_set;
> + snprintf(o_evt_str, len, "[%llu]
> CPSV_EVT_ND2ND_CKPT_SECT_EXPTMR_REQ(sec_id=%s, exp_tmr=%llu)",
> + info->ckpt_id, info->sec_id.id, info->exp_time);
> + break;
> + }
> + case CPSV_EVT_ND2ND_CKPT_SECT_EXPTMR_RSP:
> + snprintf(o_evt_str, len,
> "CPSV_EVT_ND2ND_CKPT_SECT_EXPTMR_RSP(err=%u)",
> + evt->info.cpnd.info.sec_exp_rsp.error);
> + break;
> + case CPSV_EVT_ND2ND_CKPT_SECT_DATA_ACCESS_REQ:
> + /* This message is not used */
> + snprintf(o_evt_str, len,
> "CPSV_EVT_ND2ND_CKPT_SECT_DATA_ACCESS_REQ");
> + break;
> + case CPSV_EVT_ND2ND_CKPT_SECT_ACTIVE_DATA_ACCESS_REQ:
> + {
> + CPSV_CKPT_ACCESS *info =
> &evt->info.cpnd.info.ckpt_nd2nd_data;
> + snprintf(o_evt_str, len, "[%llu]
> CPSV_EVT_ND2ND_CKPT_SECT_ACTIVE_DATA_ACCESS_REQ(type=%s(%d), seqno=%u,
> last_seq=%u)",
> + info->ckpt_id,
> + info->type == CPSV_CKPT_ACCESS_WRITE ? "WRITE" :
> + info->type == CPSV_CKPT_ACCESS_OVWRITE ?
> "OVWRITE" : "INVALID",
> + info->type, info->seqno, info->last_seq);
> + break;
> + }
> + case CPSV_EVT_ND2ND_CKPT_SECT_ACTIVE_DATA_ACCESS_RSP:
> + {
> + CPSV_ND2A_DATA_ACCESS_RSP *info =
> &evt->info.cpnd.info.ckpt_nd2nd_data_rsp;
> + snprintf(o_evt_str, len, "[%llu]
> CPSV_EVT_ND2ND_CKPT_SECT_ACTIVE_DATA_ACCESS_RSP(err=%u, type=%s(%u))",
> + info->ckpt_id,
> + info->type == CPSV_DATA_ACCESS_WRITE_RSP ?
> info->error : info->info.ovwrite_error.error,
> + info->type == CPSV_DATA_ACCESS_WRITE_RSP?
> "WRITE_RSP" : "OVWRITE_RSP", info->type);
> + break;
> + }
> + case CPND_EVT_D2ND_CKPT_INFO:
> + {
> + CPSV_D2ND_CKPT_INFO *info =
> &evt->info.cpnd.info.ckpt_info;
> + snprintf(o_evt_str, len, "[%llu]
> CPND_EVT_D2ND_CKPT_INFO(err=%u, active=0x%X, create_rep=%s)",
> + info->ckpt_id, info->error,
> m_NCS_NODE_ID_FROM_MDS_DEST(info->active_dest),
> + info->ckpt_rep_create == true ? "true" :
> "false");
> + break;
> + }
> + case CPND_EVT_D2ND_CKPT_SIZE:
> + {
> + CPSV_CKPT_USED_SIZE *info =
> &evt->info.cpnd.info.ckpt_mem_size;
> + snprintf(o_evt_str, len, "[%llu]
> CPND_EVT_D2ND_CKPT_SIZE(err=%u, used_mem=%u)",
> + info->ckpt_id, info->error,
> info->ckpt_used_size);
> + break;
> + }
> + case CPND_EVT_D2ND_CKPT_REP_ADD:
> + {
> + CPSV_CKPT_DESTLIST_INFO *info =
> &evt->info.cpnd.info.ckpt_add;
> + snprintf(o_evt_str, len, "[%llu]
> CPND_EVT_D2ND_CKPT_REP_ADD(dest=0x%X, active=0x%X, restart=%s, dest_cnt=%u)",
> + info->ckpt_id,
> m_NCS_NODE_ID_FROM_MDS_DEST(info->mds_dest),
> + m_NCS_NODE_ID_FROM_MDS_DEST(info->active_dest),
> + info->is_cpnd_restart == true ? "true" :
> "false", info->dest_cnt);
> + break;
> + }
> + case CPND_EVT_D2ND_CKPT_REP_DEL:
> + {
> + CPSV_CKPT_DEST_INFO *info =
> &evt->info.cpnd.info.ckpt_del;
> + snprintf(o_evt_str, len, "[%llu]
> CPND_EVT_D2ND_CKPT_REP_DEL(node_id=0x%X)",
> + info->ckpt_id,
> m_NCS_NODE_ID_FROM_MDS_DEST(info->mds_dest));
> + break;
> + }
> + case CPSV_D2ND_RESTART:
> + snprintf(o_evt_str, len, "[%llu] CPSV_D2ND_RESTART",
> evt->info.cpnd.info.cpnd_restart.ckpt_id);
> + break;
> + case CPSV_D2ND_RESTART_DONE:
> + {
> + CPSV_CKPT_DESTLIST_INFO *info =
> &evt->info.cpnd.info.cpnd_restart_done;
> + snprintf(o_evt_str, len, "[%llu]
> CPSV_D2ND_RESTART_DONE(active=0x%X, dest_cnt=%u)", info->ckpt_id,
> + m_NCS_NODE_ID_FROM_MDS_DEST(info->active_dest),
> info->dest_cnt);
> + break;
> + }
> + 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,
> + info->ckpt_info.ckpt_rep_create ? "true" :
> "false",
> +
> m_NCS_NODE_ID_FROM_MDS_DEST(info->ckpt_info.active_dest));
> + break;
> + }
> + case CPND_EVT_D2ND_CKPT_DESTROY:
> + {
> + snprintf(o_evt_str, len, "[%llu]
> CPND_EVT_D2ND_CKPT_DESTROY", evt->info.cpnd.info.ckpt_destroy.ckpt_id);
> + break;
> + }
> + case CPND_EVT_D2ND_CKPT_DESTROY_ACK:
> + {
> + snprintf(o_evt_str, len,
> "CPND_EVT_D2ND_CKPT_DESTROY_ACK(err=%u)",
> evt->info.cpnd.info.destroy_ack.error);
> + break;
> + }
> + case CPND_EVT_D2ND_CKPT_CLOSE_ACK:
> + /* This message is not used */
> + snprintf(o_evt_str, len,
> "CPND_EVT_D2ND_CKPT_CLOSE_ACK");
> + break;
> + case CPND_EVT_D2ND_CKPT_UNLINK:
> + {
> + snprintf(o_evt_str, len, "[%llu]
> CPND_EVT_D2ND_CKPT_UNLINK", evt->info.cpnd.info.ckpt_ulink.ckpt_id);
> + break;
> + }
> + case CPND_EVT_D2ND_CKPT_UNLINK_ACK:
> + {
> + CPSV_SAERR_INFO *info = &evt->info.cpnd.info.ulink_ack;
> + snprintf(o_evt_str, len,
> "CPND_EVT_D2ND_CKPT_UNLINK_ACK(err=%u)", info->error);
> + break;
> + }
> + case CPND_EVT_D2ND_CKPT_RDSET:
> + {
> + CPSV_CKPT_RDSET *info = &evt->info.cpnd.info.rdset;
> + snprintf(o_evt_str, len, "[%llu]
> CPND_EVT_D2ND_CKPT_RDSET(%s(%u), time=%llu)",
> + info->ckpt_id,
> + info->type == CPSV_CKPT_RDSET_INFO ? "INFO" :
> + info->type == CPSV_CKPT_RDSET_START ? "START" :
> + info->type == CPSV_CKPT_RDSET_STOP ? "STOP" :
> "OTHER",
> + info->type, info->reten_time);
> + break;
> + }
> + case CPND_EVT_D2ND_CKPT_RDSET_ACK:
> + snprintf(o_evt_str, len,
> "CPND_EVT_D2ND_CKPT_RDSET_ACK(err=%u)", evt->info.cpnd.info.rdset_ack.error);
> + break;
> + case CPND_EVT_D2ND_CKPT_ACTIVE_SET:
> + {
> + CPSV_CKPT_DEST_INFO *info =
> &evt->info.cpnd.info.active_set;
> + snprintf(o_evt_str, len, "[%llu]
> CPND_EVT_D2ND_CKPT_ACTIVE_SET(active_node = 0x%X)",
> + info->ckpt_id,
> m_NCS_NODE_ID_FROM_MDS_DEST(info->mds_dest));
> + break;
> + }
> + case CPND_EVT_D2ND_CKPT_ACTIVE_SET_ACK:
> + /* This message is not used */
> + snprintf(o_evt_str, len,
> "CPND_EVT_D2ND_CKPT_ACTIVE_SET_ACK(err=%u)",
> + evt->info.cpnd.info.arep_ack.error);
> + break;
> + case CPND_EVT_ND2ND_CKPT_ITER_NEXT_REQ:
> + {
> + CPSV_A2ND_SECT_ITER_GETNEXT *info =
> &evt->info.cpnd.info.iter_getnext;
> + snprintf(o_evt_str, len, "[%llu]
> CPND_EVT_ND2ND_CKPT_ITER_NEXT_REQ(sec_id=%s, filter=%s, n_secs_trav=%u,
> exp_tmr=%llu)",
> + info->ckpt_id, info->section_id.id,
> + info->filter == SA_CKPT_SECTIONS_FOREVER ?
> "FOREVER" :
> + info->filter ==
> SA_CKPT_SECTIONS_LEQ_EXPIRATION_TIME ? "LEQ_EX_TIME" :
> + info->filter ==
> SA_CKPT_SECTIONS_GEQ_EXPIRATION_TIME ? "GEQ_EX_TIME" :
> + info->filter == SA_CKPT_SECTIONS_CORRUPTED ?
> "CORRUPTED" :
> + info->filter == SA_CKPT_SECTIONS_ANY ? "ANY" :
> "INVALID",
> + info->n_secs_trav, info->exp_tmr);
> +
> + break;
> + }
> + case CPND_EVT_ND2ND_CKPT_ACTIVE_ITERNEXT:
> + snprintf(o_evt_str, len,
> "CPND_EVT_ND2ND_CKPT_ACTIVE_ITERNEXT");
> + break;
> + case CPND_EVT_CB_DUMP:
> + snprintf(o_evt_str, len, "CPND_EVT_CB_DUMP");
> + break;
> + case CPND_EVT_D2ND_CKPT_NUM_SECTIONS:
> + {
> + CPSV_CKPT_NUM_SECTIONS *info =
> &evt->info.cpnd.info.ckpt_sections;
> + snprintf(o_evt_str, len, "[%llu]
> CPND_EVT_D2ND_CKPT_NUM_SECTIONS", info->ckpt_id);
> + break;
> + }
> + case CPND_EVT_A2ND_CKPT_REFCNTSET:
> + {
> + CPSV_A2ND_REFCNTSET *info =
> &evt->info.cpnd.info.refCntsetReq;
> + snprintf(o_evt_str, len, "
> CPND_EVT_A2ND_CKPT_REFCNTSET(no_of_nodes=%u)", info->no_of_nodes);
> + break;
> + }
> + case CPND_EVT_A2ND_CKPT_LIST_UPDATE:
> + {
> + CPSV_A2ND_CKPT_LIST_UPDATE *info =
> &evt->info.cpnd.info.ckptListUpdate;
> + snprintf(o_evt_str, len,
> "CPND_EVT_A2ND_CKPT_LIST_UPDATE(hdl=%llu, %s)",
> + info->client_hdl, info->ckpt_name.value);
> + break;
> + }
> + case CPND_EVT_A2ND_ARRIVAL_CB_UNREG:
> + snprintf(o_evt_str, len,
> "CPND_EVT_A2ND_ARRIVAL_CB_UNREG(hdl=%llu)",
> + evt->info.cpnd.info.arr_ntfy.client_hdl);
> + break;
> + default:
> + snprintf(o_evt_str, len, "INVALID_CPND_TYPE(type =
> %d)", evt->info.cpnd.type);
> + break;
> + }
> + break;
> +
> + case CPSV_EVT_TYPE_CPA:
> + switch (evt->info.cpa.type) {
> + case CPA_EVT_MDS_INFO:
> + /* This message type is not used */
> + snprintf(o_evt_str, len, "CPA_EVT_MDS_INFO");
> + break;
> + case CPA_EVT_TIME_OUT:
> + {
> + CPA_TMR_INFO *info = &evt->info.cpa.info.tmr_info;
> + snprintf(o_evt_str, len, "CPA_EVT_TIME_OUT(hdl=%llu,
> type=%s(%u))",
> + info->client_hdl,
> + info->type == CPA_TMR_TYPE_CPND_RETENTION ?
> "RETENTION" :
> + info->type == CPA_TMR_TYPE_OPEN ? "OPEN" :
> + info->type == CPA_TMR_TYPE_SYNC ? "SYNC" :
> "INVALID",
> + info->type);
> + break;
> + }
> + case CPA_EVT_ND2A_CKPT_INIT_RSP:
> + {
> + CPSV_ND2A_INIT_RSP *info = &evt->info.cpa.info.initRsp;
> + snprintf(o_evt_str, len,
> "CPA_EVT_ND2A_CKPT_INIT_RSP(hdl=%llu, err=%u)", info->ckptHandle,
> info->error);
> + break;
> + }
> + case CPA_EVT_ND2A_CKPT_FINALIZE_RSP:
> + snprintf(o_evt_str, len,
> "CPA_EVT_ND2A_CKPT_FINALIZE_RSP(err=%u)", evt->info.cpa.info.finRsp.error);
> + break;
> + case CPA_EVT_ND2A_CKPT_OPEN_RSP:
> + {
> + CPSV_ND2A_OPEN_RSP *info = &evt->info.cpa.info.openRsp;
> + snprintf(o_evt_str, len,
> "CPA_EVT_ND2A_CKPT_OPEN_RSP(err=%u, active=0x%X, gbl_hdl=%llu,
> lcl_hdl=0X%llX)",
> + info->error,
> m_NCS_NODE_ID_FROM_MDS_DEST(info->active_dest), info->gbl_ckpt_hdl,
> info->lcl_ckpt_hdl);
> + break;
> + }
> + case CPA_EVT_ND2A_CKPT_CLOSE_RSP:
> + {
> + snprintf(o_evt_str, len,
> "CPA_EVT_ND2A_CKPT_CLOSE_RSP(err=%u)", evt->info.cpa.info.closeRsp.error);
> + break;
> + }
> + case CPA_EVT_ND2A_CKPT_UNLINK_RSP:
> + {
> + snprintf(o_evt_str, len,
> "CPA_EVT_ND2A_CKPT_UNLINK_RSP(err=%u)", evt->info.cpa.info.ulinkRsp.error);
> + break;
> + }
> + case CPA_EVT_ND2A_CKPT_RDSET_RSP:
> + snprintf(o_evt_str, len,
> "CPA_EVT_ND2A_CKPT_RDSET_RSP(err=%u)", evt->info.cpa.info.rdsetRsp.error);
> + break;
> + case CPA_EVT_ND2A_CKPT_AREP_SET_RSP:
> + snprintf(o_evt_str, len,
> "CPA_EVT_ND2A_CKPT_AREP_SET_RSP(err=%u)", evt->info.cpa.info.arsetRsp.error);
> + break;
> + case CPA_EVT_ND2A_CKPT_STATUS:
> + {
> + CPSV_CKPT_STATUS *info = &evt->info.cpa.info.status;
> + snprintf(o_evt_str, len, "[%llu]
> CPA_EVT_ND2A_CKPT_STATUS(err=%u, mem_used=%llu, "
> + "n_secs=%u, ckpt_size=%llu, reten=%llu,
> max_sec=%u)", info->ckpt_id, info->error,
> + info->status.memoryUsed,
> info->status.numberOfSections,
> +
> info->status.checkpointCreationAttributes.checkpointSize,
> +
> info->status.checkpointCreationAttributes.retentionDuration,
> +
> info->status.checkpointCreationAttributes.maxSections);
> +
> + break;
> + }
> + case CPA_EVT_ND2A_SEC_CREATE_RSP:
> + {
> + CPSV_CKPT_SECT_INFO *info =
> &evt->info.cpa.info.sec_creat_rsp;
> + snprintf(o_evt_str, len, "[%llu]
> CPA_EVT_ND2A_SEC_CREATE_RSP(err=%u, sec_id=%s, mdest=%lX)",
> + info->ckpt_id, info->error, info->sec_id.id,
> info->agent_mdest);
> + break;
> + }
> + case CPA_EVT_ND2A_SEC_DELETE_RSP:
> + snprintf(o_evt_str, len,
> "CPA_EVT_ND2A_SEC_DELETE_RSP(err=%u)",
> evt->info.cpa.info.sec_delete_rsp.error);
> + break;
> + case CPA_EVT_ND2A_SEC_EXPTIME_RSP:
> + snprintf(o_evt_str, len,
> "CPA_EVT_ND2A_SEC_EXPTIME_RSP(err=%u)",
> evt->info.cpa.info.sec_exptmr_rsp.error);
> + break;
> + case CPA_EVT_ND2A_SEC_ITER_RSP:
> + snprintf(o_evt_str, len,
> "CPA_EVT_ND2A_SEC_ITER_RSP(err=%u)", evt->info.cpa.info.sec_iter_rsp.error);
> + break;
> + case CPA_EVT_ND2A_SEC_ITER_GETNEXT_RSP:
> + {
> + CPSV_ND2A_SECT_ITER_GETNEXT_RSP *info =
> &evt->info.cpa.info.iter_next_rsp;
> + snprintf(o_evt_str, len, "[%llu]
> CPA_EVT_ND2A_SEC_ITER_GETNEXT_RSP(err=%u, iter_id=%llu, sec_id=%s,
> n_secs_trav=%u)",
> + info->ckpt_id, info->error, info->iter_id,
> info->sect_desc.sectionId.id, info->n_secs_trav);
> + break;
> + }
> + case CPA_EVT_ND2A_CKPT_ARRIVAL_NTFY:
> + {
> + CPSV_ND2A_ARRIVAL_MSG *info =
> &evt->info.cpa.info.arr_msg;
> + snprintf(o_evt_str, len,
> "CPA_EVT_ND2A_CKPT_ARRIVAL_NTFY(hdl=%llu)", info->client_hdl);
> + break;
> + }
> + case CPA_EVT_ND2A_CKPT_DATA_RSP:
> + {
> + CPSV_ND2A_DATA_ACCESS_RSP *info =
> &evt->info.cpa.info.sec_data_rsp;
> + snprintf(o_evt_str, len,
> "CPA_EVT_ND2A_CKPT_DATA_RSP(err=%u, type=%s(%u))",
> + info->type == CPSV_DATA_ACCESS_OVWRITE_RSP ?
> info->info.ovwrite_error.error : info->error,
> + info->type == CPSV_DATA_ACCESS_LCL_READ_RSP ?
> "LCL_READ" :
> + info->type == CPSV_DATA_ACCESS_RMT_READ_RSP ?
> "RMT_READ" :
> + info->type == CPSV_DATA_ACCESS_WRITE_RSP ?
> "WRITE" :
> + info->type == CPSV_DATA_ACCESS_OVWRITE_RSP ?
> "OVWRITE" : "INVALID", info->type);
> + break;
> + }
> + case CPA_EVT_ND2A_CKPT_SYNC_RSP:
> + snprintf(o_evt_str, len,
> "CPA_EVT_ND2A_CKPT_SYNC_RSP(err=%u)",
> + evt->info.cpa.info.sync_rsp.error);
> + break;
> + case CPA_EVT_D2A_ACT_CKPT_INFO_BCAST_SEND:
> + {
> + CPSV_CKPT_DEST_INFO *info =
> &evt->info.cpa.info.ackpt_info;
> + snprintf(o_evt_str, len, "[%llu]
> CPA_EVT_D2A_ACT_CKPT_INFO_BCAST_SEND(active_node=0x%X)",
> + info->ckpt_id,
> m_NCS_NODE_ID_FROM_MDS_DEST(info->mds_dest));
> + break;
> + }
> + case CPA_EVT_ND2A_CKPT_READ_ACK_RSP:
> + /* This message type is not used */
> + snprintf(o_evt_str, len,
> "CPA_EVT_ND2A_CKPT_READ_ACK_RSP");
> + break;
> + case CPA_EVT_ND2A_CKPT_BCAST_SEND:
> + {
> + snprintf(o_evt_str, len,
> "CPA_EVT_ND2A_CKPT_BCAST_SEND");
> + break;
> + }
> + case CPA_EVT_D2A_NDRESTART:
> + {
> + CPSV_CKPT_DEST_INFO *info =
> &evt->info.cpa.info.ackpt_info;
> + snprintf(o_evt_str, len, "[%llu]
> CPA_EVT_D2A_NDRESTART(node=0x%X)",
> + info->ckpt_id,
> m_NCS_NODE_ID_FROM_MDS_DEST(info->mds_dest));
> + break;
> + }
> + case CPA_EVT_CB_DUMP:
> + snprintf(o_evt_str, len, "CPA_EVT_CB_DUMP");
> + break;
> + case CPA_EVT_ND2A_CKPT_CLM_NODE_LEFT:
> + snprintf(o_evt_str, len,
> "CPA_EVT_ND2A_CKPT_CLM_NODE_LEFT");
> + break;
> + case CPA_EVT_ND2A_CKPT_CLM_NODE_JOINED:
> + snprintf(o_evt_str, len,
> "CPA_EVT_ND2A_CKPT_CLM_NODE_JOINED");
> + break;
> + case CPA_EVT_ND2A_ACT_CKPT_INFO_BCAST_SEND:
> + {
> + CPSV_CKPT_DEST_INFO *info =
> &evt->info.cpa.info.ackpt_info;
> + snprintf(o_evt_str, len, "[%llu]
> CPA_EVT_ND2A_ACT_CKPT_INFO_BCAST_SEND(active_node=0x%X)",
> + info->ckpt_id,
> m_NCS_NODE_ID_FROM_MDS_DEST(info->mds_dest));
> + break;
> + }
> + default:
> + snprintf(o_evt_str, len, "INVALID_CPA_TYPE(type = %d)",
> evt->info.cpa.type);
> + break;
> + }
> + break;
> +
> + case CPSV_EVT_TYPE_CPD:
> + switch (evt->info.cpd.type) {
> + case CPD_EVT_MDS_INFO:
> + {
> + CPSV_MDS_INFO *info = &evt->info.cpd.info.mds_info;
> + snprintf(o_evt_str, len,
> "CPD_EVT_MDS_INFO(node_id=0x%X, svc=%s(%u) - %s(%u))",
> + info->node_id,
> + info->svc_id == NCSMDS_SVC_ID_CPA ? "CPA" :
> + info->svc_id == NCSMDS_SVC_ID_CPND ? "CPND" :
> + info->svc_id == NCSMDS_SVC_ID_CPD ? "CPD" :
> "OTHER",
> + info->svc_id,
> + info->change == NCSMDS_NO_ACTIVE ? "NO_ACT" :
> + info->change == NCSMDS_NEW_ACTIVE ? "NEW_ACT" :
> + info->change == NCSMDS_UP ? "UP" :
> + info->change == NCSMDS_DOWN ? "DOWN" :
> + info->change == NCSMDS_RED_UP ? "RED_UP" :
> + info->change == NCSMDS_RED_DOWN ? "RED_DOWN" :
> + info->change == NCSMDS_CHG_ROLE ? "CHG_ROLE" :
> "OTHERS",
> + info->change);
> + break;
> +
> + }
> + case CPD_EVT_ND2D_CKPT_CREATE:
> + {
> + CPSV_ND2D_CKPT_CREATE *info =
> &evt->info.cpd.info.ckpt_create;
> + snprintf(o_evt_str, len, "CPD_EVT_ND2D_CKPT_CREATE(%s,
> creationFlags=0x%X)",
> + info->ckpt_name.value,
> info->attributes.creationFlags);
> + break;
> + }
> + case CPD_EVT_ND2D_CKPT_UNLINK:
> + {
> + snprintf(o_evt_str, len,
> "CPD_EVT_ND2D_CKPT_UNLINK(%s)",
> evt->info.cpd.info.ckpt_ulink.ckpt_name.value);
> + break;
> + }
> + case CPD_EVT_ND2D_CKPT_RDSET:
> + {
> + CPSV_CKPT_RDSET *info = &evt->info.cpd.info.rd_set;
> + snprintf(o_evt_str, len, "[%llu]
> CPD_EVT_ND2D_CKPT_RDSET(reten_time=%llu)", info->ckpt_id, info->reten_time);
> + break;
> + }
> + case CPD_EVT_ND2D_ACTIVE_SET:
> + {
> + CPSV_CKPT_DEST_INFO *info =
> &evt->info.cpd.info.arep_set;
> + snprintf(o_evt_str, len, "[%llu]
> CPD_EVT_ND2D_ACTIVE_SET(node=0x%X)", info->ckpt_id,
> + m_NCS_NODE_ID_FROM_MDS_DEST(info->mds_dest));
> + break;
> + }
> + case CPD_EVT_ND2D_CKPT_CLOSE:
> + {
> + CPSV_CKPT_ID_INFO *info =
> &evt->info.cpd.info.ckpt_close;
> + snprintf(o_evt_str, len, "[%llu]
> CPD_EVT_ND2D_CKPT_CLOSE", info->ckpt_id);
> + break;
> + }
> + case CPD_EVT_ND2D_CKPT_DESTROY:
> + {
> + CPSV_CKPT_ID_INFO *info =
> &evt->info.cpd.info.ckpt_destroy;
> + snprintf(o_evt_str, len, "[%llu]
> CPD_EVT_ND2D_CKPT_DESTROY", info->ckpt_id);
> + break;
> + }
> + case CPD_EVT_ND2D_CKPT_USR_INFO:
> + {
> + CPSV_ND2D_USR_INFO *info =
> &evt->info.cpd.info.ckpt_usr_info;
> + snprintf(o_evt_str, len, "[%llu]
> CPD_EVT_ND2D_CKPT_USR_INFO(open_flags=0x%X, %s(%u), ckpt_flags=%u)",
> + info->ckpt_id, info->ckpt_flags,
> + info->info_type == CPSV_USR_INFO_CKPT_OPEN ?
> "OPEN" :
> + info->info_type == CPSV_USR_INFO_CKPT_CLOSE ?
> "CLOSE" :
> + info->info_type ==
> CPSV_USR_INFO_CKPT_OPEN_FIRST ? "OPEN_FIRST" :
> + info->info_type ==
> CPSV_USR_INFO_CKPT_CLOSE_LAST ? "CLOSE_LAST" : "OTHER",
> + info->info_type, info->ckpt_flags);
> + break;
> + }
> + case CPD_EVT_ND2D_CKPT_SYNC_INFO:
> + /* This message type is not used */
> + snprintf(o_evt_str, len, "CPD_EVT_ND2D_CKPT_SYNC_INFO");
> + break;
> + case CPD_EVT_ND2D_CKPT_SEC_INFO_UPD:
> + {
> + CPSV_CKPT_SEC_INFO_UPD *info =
> &evt->info.cpd.info.ckpt_sec_info;
> + snprintf(o_evt_str, len, "[%llu]
> CPD_EVT_ND2D_CKPT_SEC_INFO_UPD(type=%s(%u))", info->ckpt_id,
> + info->info_type == CPSV_CKPT_SEC_INFO_CREATE ?
> "CREATE" :
> + info->info_type == CPSV_CKPT_SEC_INFO_DELETE ?
> "DELETE" : "OTHER",
> + info->info_type);
> + break;
> + }
> + case CPD_EVT_ND2D_CKPT_MEM_USED:
> + {
> + CPSV_CKPT_USED_SIZE *info =
> &evt->info.cpd.info.ckpt_mem_used;
> + snprintf(o_evt_str, len, "[%llu]
> CPD_EVT_ND2D_CKPT_MEM_USED(err=%u, used_size=%u)",
> + info->ckpt_id, info->error,
> info->ckpt_used_size);
> + break;
> + }
> + case CPD_EVT_CB_DUMP:
> + snprintf(o_evt_str, len, "CPD_EVT_CB_DUMP");
> + break;
> + case CPD_EVT_MDS_QUIESCED_ACK_RSP:
> + snprintf(o_evt_str, len,
> "CPD_EVT_MDS_QUIESCED_ACK_RSP");
> + break;
> + case CPD_EVT_ND2D_CKPT_DESTROY_BYNAME:
> + {
> + CPSV_CKPT_NAME_INFO *info =
> &evt->info.cpd.info.ckpt_destroy_byname;
> + snprintf(o_evt_str, len,
> "CPD_EVT_ND2D_CKPT_DESTROY_BYNAME(ckpt=%s)", info->ckpt_name.value);
> + break;
> + }
> + case CPD_EVT_ND2D_CKPT_CREATED_SECTIONS:
> + {
> + CPSV_CKPT_NUM_SECTIONS *info =
> &evt->info.cpd.info.ckpt_created_sections;
> + snprintf(o_evt_str, len, "[%llu]
> CPD_EVT_ND2D_CKPT_CREATED_SECTIONS(err=%u, num_secs=%u)",
> + info->ckpt_id, info->error,
> info->ckpt_num_sections);
> + break;
> + }
> + case CPD_EVT_TIME_OUT:
> + {
> + CPD_TMR_INFO *info = &evt->info.cpd.info.tmr_info;
> + snprintf(o_evt_str, len, "CPD_EVT_TIME_OUT(type=%u,
> node=0x%X)", info->type,
> +
> m_NCS_NODE_ID_FROM_MDS_DEST(info->info.cpnd_dest));
> + break;
> + }
> + default:
> + snprintf(o_evt_str, len, "INVALID_CPD_TYPE(type = %d)",
> evt->info.cpd.type);
> + break;
> + }
> + break;
> + default:
> + snprintf(o_evt_str, len, "INVALID_EVENT_TYPE(type = %d)",
> evt->type);
> + }
> + return o_evt_str;
> +}
> +
>
> /****************************************************************************\
> PROCEDURE NAME : cpsv_evt_cpy
>
> diff --git a/osaf/libs/common/cpsv/include/cpsv_evt.h
> b/osaf/libs/common/cpsv/include/cpsv_evt.h
> --- a/osaf/libs/common/cpsv/include/cpsv_evt.h
> +++ b/osaf/libs/common/cpsv/include/cpsv_evt.h
> @@ -431,6 +431,7 @@ typedef struct cpsv_a2nd_ckpt_list_updat
> #define CPSV_CKPT_ACCESS_SYNC 0x3
>
> #define MAX_SYNC_TRANSFER_SIZE (30 * 1024 * 1024)
> +#define MAX_EVT_STR_LEN 512
>
> typedef struct cpsv_ckpt_access {
> SaUint32T type; /* --- 0-write/1-overwrite/2-read/3-sync -----
> */
> @@ -850,6 +851,7 @@ typedef struct cpsv_evt {
> } CPSV_EVT;
>
> /* Event Declerations */
> +char* cpsv_evt_str(CPSV_EVT *evt, char *o_evt_str, size_t len);
> uint32_t cpsv_evt_cpy(CPSV_EVT *src, CPSV_EVT *dest, uint32_t svc_id);
> uint32_t cpsv_evt_enc_flat(EDU_HDL *edu_hdl, CPSV_EVT *i_evt, NCS_UBAID
> *o_ub);
> uint32_t cpsv_evt_dec_flat(EDU_HDL *edu_hdl, NCS_UBAID *i_ub, CPSV_EVT
> *o_evt);
> diff --git a/osaf/services/saf/cpsv/cpd/cpd_db.c
> b/osaf/services/saf/cpsv/cpd/cpd_db.c
> --- a/osaf/services/saf/cpsv/cpd/cpd_db.c
> +++ b/osaf/services/saf/cpsv/cpd/cpd_db.c
> @@ -403,6 +403,7 @@ uint32_t cpd_ckpt_reploc_node_add(NCS_PA
> return NCSCC_RC_FAILURE;
> }
> }
> +
> TRACE_LEAVE();
> return NCSCC_RC_SUCCESS;
> }
> 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
> @@ -99,6 +99,9 @@ void cpd_process_evt(CPSV_EVT *evt)
> #if ( CPSV_DEBUG == 1)
> TRACE("%s", cpd_evt_str[evt->info.cpd.type]);
> #endif
> + char evt_str[MAX_EVT_STR_LEN] = {0};
> + TRACE("cpd <<== %s from node 0x%X", cpsv_evt_str(evt, evt_str,
> MAX_EVT_STR_LEN),
> + m_NCS_NODE_ID_FROM_MDS_DEST(evt->sinfo.dest));
>
> switch (evt->info.cpd.type) {
> case CPD_EVT_MDS_INFO:
> 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
> @@ -658,6 +658,11 @@ uint32_t cpd_mds_send_rsp(CPD_CB *cb, CP
> mds_info.info.svc_send.info.rsp.i_sender_dest = s_info->dest;
>
> /* send the message */
> +
> + char evt_str[MAX_EVT_STR_LEN] = {0};
> + TRACE("cpd ==>> %s to node 0x%X", cpsv_evt_str(evt, evt_str,
> MAX_EVT_STR_LEN),
> + m_NCS_NODE_ID_FROM_MDS_DEST(s_info->dest));
> +
> rc = ncsmds_api(&mds_info);
> if (rc != NCSCC_RC_SUCCESS) {
> LOG_ER("cpd mds send failed for dest %"PRIu64,s_info->dest);
> @@ -707,12 +712,21 @@ uint32_t cpd_mds_msg_sync_send(CPD_CB *c
> mds_info.info.svc_send.info.sndrsp.i_to_dest = to_dest;
>
> /* send the message */
> +
> + char evt_str[MAX_EVT_STR_LEN] = {0};
> + TRACE("cpd ==>> %s to node 0x%X", cpsv_evt_str(i_evt, evt_str,
> MAX_EVT_STR_LEN),
> + m_NCS_NODE_ID_FROM_MDS_DEST(to_dest));
> +
> rc = ncsmds_api(&mds_info);
> - if (rc == NCSCC_RC_SUCCESS)
> + if (rc == NCSCC_RC_SUCCESS) {
> *o_evt = mds_info.info.svc_send.info.sndrsp.o_rsp;
> + TRACE("cpd <<== %s from node 0x%X", cpsv_evt_str(*o_evt,
> evt_str, MAX_EVT_STR_LEN),
> + m_NCS_NODE_ID_FROM_MDS_DEST(to_dest));
> + }
> else {
> LOG_ER("cpd mds send failed for dest %"PRIu64,to_dest);
> }
> +
> TRACE_LEAVE();
> return rc;
> }
> @@ -753,6 +767,11 @@ uint32_t cpd_mds_msg_send(CPD_CB *cb, ui
> mds_info.info.svc_send.info.snd.i_to_dest = to_dest;
>
> /* send the message */
> +
> + char evt_str[MAX_EVT_STR_LEN] = {0};
> + TRACE("cpd ==>> %s to node 0x%X", cpsv_evt_str(evt, evt_str,
> MAX_EVT_STR_LEN),
> + m_NCS_NODE_ID_FROM_MDS_DEST(to_dest));
> +
> rc = ncsmds_api(&mds_info);
>
> if (rc != NCSCC_RC_SUCCESS) {
> @@ -797,6 +816,9 @@ uint32_t cpd_mds_bcast_send(CPD_CB *cb,
> info.info.svc_send.i_to_svc = to_svc;
> info.info.svc_send.info.bcast.i_bcast_scope = NCSMDS_SCOPE_NONE;
>
> + char evt_str[MAX_EVT_STR_LEN] = {0};
> + TRACE("cpd ==>> %s (broadcast)", cpsv_evt_str(evt, evt_str,
> MAX_EVT_STR_LEN));
> +
> res = ncsmds_api(&info);
> if (res != NCSCC_RC_SUCCESS) {
> LOG_ER("cpd mds bcast send failed");
> 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
> @@ -342,7 +342,8 @@ uint32_t cpd_ckpt_db_entry_update(CPD_CB
> goto ckpt_node_add_fail;
> }
> if (reploc_info && create_reploc_node) {
> - proc_rc = cpd_ckpt_reploc_node_add(&cb->ckpt_reploc_tree,
> reploc_info, cb->ha_state, cb->immOiHandle);
> + TRACE_4("reploc node add for non-collocated on node
> 0x%X - ckpt_id:%llx", m_NCS_NODE_ID_FROM_MDS_DEST(cpnd_dest), ckpt_id);
> + proc_rc =
> cpd_ckpt_reploc_node_add(&cb->ckpt_reploc_tree, reploc_info, cb->ha_state,
> cb->immOiHandle);
> if (proc_rc != NCSCC_RC_SUCCESS) {
> /* goto reploc_node_add_fail; */
> TRACE_4("cpd db add failed ");
> 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
> @@ -179,6 +179,9 @@ void cpnd_process_evt(CPSV_EVT *evt)
> #if (CPSV_DEBUG == 1)
> TRACE("%s", cpnd_evt_str[evt->info.cpnd.type]);
> #endif
> + char evt_str[MAX_EVT_STR_LEN] = {0};
> + TRACE("cpnd <<== %s from node 0x%X", cpsv_evt_str(evt, evt_str,
> MAX_EVT_STR_LEN),
> + m_NCS_NODE_ID_FROM_MDS_DEST(evt->sinfo.dest));
>
> switch (evt->info.cpnd.type) {
> case CPND_EVT_MDS_INFO:
> @@ -3412,8 +3415,8 @@ static uint32_t cpnd_evt_proc_nd2nd_ckpt
> }
>
> if (cp_node->create_attrib.creationFlags &
> SA_CKPT_CHECKPOINT_COLLOCATED) {
> - send_evt.info.cpnd.info.ckpt_nd2nd_sync.num_of_elmts =
> cp_node->replica_info.n_secs;
> - rc = cpnd_mds_send_rsp(cb, sinfo, &send_evt);
> + send_evt.info.cpnd.info.ckpt_nd2nd_sync.num_of_elmts =
> cp_node->replica_info.n_secs;
> + rc = cpnd_mds_send_rsp(cb, sinfo, &send_evt);
> }
>
> if ((cp_node->replica_info.n_secs > 0) &&
> !cpnd_ckpt_sec_empty(&cp_node->replica_info)) {
> @@ -3428,7 +3431,7 @@ static uint32_t cpnd_evt_proc_nd2nd_ckpt
> }
>
> if (evt->info.sync_req.is_ckpt_open) {
> - /* Add the new replica's MDS_DEST to the dest liot of this
> replica */
> + /* Add the new replica's MDS_DEST to the dest list of this
> replica */
> rc = cpnd_ckpt_remote_cpnd_add(cp_node, sinfo->dest);
> }
>
> 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
> @@ -804,6 +804,10 @@ static uint32_t cpnd_mds_send_try_again_
> break;
> }
>
> + char evt_str[MAX_EVT_STR_LEN] = {0};
> + TRACE("cpnd ==>> %s to node 0x%X - ERR_TRY_AGAIN", cpsv_evt_str(pEvt,
> evt_str, MAX_EVT_STR_LEN),
> + m_NCS_NODE_ID_FROM_MDS_DEST(pEvt->sinfo.dest));
> +
> rc = cpnd_mds_send_rsp(cb, &pEvt->sinfo, &send_evt);
>
> if (rc != NCSCC_RC_SUCCESS) {
> @@ -846,6 +850,9 @@ uint32_t cpnd_mds_bcast_send(CPND_CB *cb
> info.info.svc_send.i_to_svc = to_svc;
> info.info.svc_send.info.bcast.i_bcast_scope = NCSMDS_SCOPE_INTRANODE;
>
> + char evt_str[MAX_EVT_STR_LEN] = {0};
> + TRACE("cpnd ==>> %s (broadcast)", cpsv_evt_str(evt, evt_str,
> MAX_EVT_STR_LEN));
> +
> res = ncsmds_api(&info);
> return (res);
> }
> @@ -1001,6 +1008,10 @@ uint32_t cpnd_mds_send_rsp(CPND_CB *cb,
> mds_info.info.svc_send.info.rsp.i_sender_dest = s_info->dest;
>
> /* send the message */
> +
> + char evt_str[MAX_EVT_STR_LEN] = {0};
> + TRACE("cpnd ==>> %s to node 0x%X", cpsv_evt_str(evt, evt_str,
> MAX_EVT_STR_LEN), m_NCS_NODE_ID_FROM_MDS_DEST(s_info->dest));
> +
> rc = ncsmds_api(&mds_info);
> if (rc != NCSCC_RC_SUCCESS)
> TRACE_4("cpnd mds send fail for dest:%"PRIu64,s_info->dest);
> @@ -1083,11 +1094,18 @@ uint32_t cpnd_mds_msg_sync_send(CPND_CB
> mds_info.info.svc_send.info.sndrsp.i_to_dest = to_dest;
>
> /* send the message */
> +
> + char evt_str[MAX_EVT_STR_LEN] = {0};
> + TRACE("cpnd ==>> %s to node 0x%X", cpsv_evt_str(i_evt, evt_str,
> MAX_EVT_STR_LEN),
> + m_NCS_NODE_ID_FROM_MDS_DEST(to_dest));
> +
> rc = ncsmds_api(&mds_info);
>
> - if (rc == NCSCC_RC_SUCCESS)
> + if (rc == NCSCC_RC_SUCCESS) {
> *o_evt = mds_info.info.svc_send.info.sndrsp.o_rsp;
> - else {
> + TRACE("cpnd <<== %s from node 0x%X", cpsv_evt_str(*o_evt,
> evt_str, MAX_EVT_STR_LEN),
> + m_NCS_NODE_ID_FROM_MDS_DEST(to_dest));
> + } else {
> TRACE_4("cpnd mds send fail for to_dest:%"PRIu64",return
> value:%d",to_dest, rc);
> }
>
> @@ -1152,6 +1170,11 @@ uint32_t cpnd_mds_msg_send(CPND_CB *cb,
> mds_info.info.svc_send.info.snd.i_to_dest = to_dest;
>
> /* send the message */
> +
> + char evt_str[MAX_EVT_STR_LEN] = {0};
> + TRACE("cpnd ==>> %s to node 0x%X", cpsv_evt_str(evt, evt_str,
> MAX_EVT_STR_LEN),
> + m_NCS_NODE_ID_FROM_MDS_DEST(to_dest));
> +
> rc = ncsmds_api(&mds_info);
>
> if (rc != NCSCC_RC_SUCCESS) {
> @@ -1215,6 +1238,11 @@ uint32_t cpnd_mds_msg_sync_ack_send(CPND
> mds_info.info.svc_send.info.sndack.i_to_dest = to_dest;
>
> /* send the message */
> +
> + char evt_str[MAX_EVT_STR_LEN] = {0};
> + TRACE("cpnd ==>> %s to node 0x%X", cpsv_evt_str(i_evt, evt_str,
> MAX_EVT_STR_LEN),
> + m_NCS_NODE_ID_FROM_MDS_DEST(to_dest));
> +
> rc = ncsmds_api(&mds_info);
> if (rc != NCSCC_RC_SUCCESS) {
> TRACE_4("cpnd mds send failed for dest:%"PRIu64,to_dest);
>
------------------------------------------------------------------------------
_______________________________________________
Opensaf-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel