Re: [devel] [PATCH 1 of 1] mds: Avoid hanging MDS receive thread when poll() returns an error [#2182]

2016-12-01 Thread A V Mahesh
ACK,

-AVM


On 11/9/2016 9:27 PM, Anders Widell wrote:
>   osaf/libs/core/mds/mds_dt_tipc.c  |  2 +-
>   osaf/libs/core/mds/mds_dt_trans.c |  2 +-
>   2 files changed, 2 insertions(+), 2 deletions(-)
>
>
> The result from poll() was incorrectly stored in an unsigned integer, which
> means that if poll() returns -1 we would interpret the result as a very large
> number. Subsequently, we read the possibly undefined values of pollfd.revents,
> and may perform a blocking read.
>
> diff --git a/osaf/libs/core/mds/mds_dt_tipc.c 
> b/osaf/libs/core/mds/mds_dt_tipc.c
> --- a/osaf/libs/core/mds/mds_dt_tipc.c
> +++ b/osaf/libs/core/mds/mds_dt_tipc.c
> @@ -659,7 +659,7 @@ static uint32_t mdtm_process_recv_events
>*/
>   
>   while (1) {
> - unsigned int pollres;
> + int pollres;
>   struct pollfd pfd[3];
>   struct tipc_event event;
>   
> diff --git a/osaf/libs/core/mds/mds_dt_trans.c 
> b/osaf/libs/core/mds/mds_dt_trans.c
> --- a/osaf/libs/core/mds/mds_dt_trans.c
> +++ b/osaf/libs/core/mds/mds_dt_trans.c
> @@ -781,7 +781,7 @@ uint32_t mdtm_process_recv_events_tcp(vo
>  if discovery events are received , process the discovery events
>*/
>   while (1) {
> - unsigned int pollres;
> + int pollres;
>   
>   pfd[0].events = POLLIN;
>   pfd[1].events = POLLIN;


--
Check out the vibrant tech community on one of the world's most 
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
___
Opensaf-devel mailing list
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel


Re: [devel] [PATCH 1 of 1] imm:allow augumentCcbInit with ROF as false in completed callback[#1956] V2

2016-12-01 Thread Hung Nguyen
Hi Neel,

I agree with your comments.
Please send new patch for review since there are many fixes.

Thanks,

Hung Nguyen - DEK Technologies



From: Neelakanta Reddy reddy.neelaka...@oracle.com
Sent: Thursday, December 01, 2016 4:53PM
To: Hung Nguyen, Zoran Milinkovic
 hung.d.ngu...@dektech.com.au, zoran.milinko...@ericsson.com
Cc: Opensaf-devel
 opensaf-devel@lists.sourceforge.net
Subject: Re: [PATCH 1 of 1] imm:allow augumentCcbInit with ROF as false in 
completed callback[#1956] V2


Hi Hung,

comments inline.

On 2016/12/01 03:07 PM, Hung Nguyen wrote:
> Hi Neel,
>
> Besides Zoran's comment, I have 2 more comments inline.
>
> BR,
> Hung Nguyen - DEK Technologies
>
> 
> From: Neelakanta reddyreddy.neelaka...@oracle.com
> Sent: Wednesday, November 30, 2016 12:39PM
> To: Zoran Milinkovic, Hung Nguyen
>  zoran.milinko...@ericsson.com,hung.d.ngu...@dektech.com.au
> Cc: Opensaf-devel
>  opensaf-devel@lists.sourceforge.net
> Subject: [PATCH 1 of 1] imm:allow augumentCcbInit with ROF as false in 
> completed callback[#1956] V2
>
>
>   osaf/libs/agents/saf/imma/imma_cb.h |   5 +
>   osaf/libs/agents/saf/imma/imma_db.c |  99 
> +
>   osaf/libs/agents/saf/imma/imma_oi_api.c |  60 +++
>   osaf/libs/agents/saf/imma/imma_proc.c   |  64 ++---
>   4 files changed, 133 insertions(+), 95 deletions(-)
>
>
> Two new variables objectName and adminOwnerName added to imma_oi_ccb_record. 
> For CCB create operation adminOwnerName will be added.
> For CCB delete/modify operation objectName will be added
>
> diff --git a/osaf/libs/agents/saf/imma/imma_cb.h 
> b/osaf/libs/agents/saf/imma/imma_cb.h
> --- a/osaf/libs/agents/saf/imma/imma_cb.h
> +++ b/osaf/libs/agents/saf/imma/imma_cb.h
> @@ -36,6 +36,10 @@ struct imma_oi_ccb_record {
>   struct imma_callback_info* ccbCallback;
>   SaImmHandleT privateAugOmHandle;
>   SaImmAdminOwnerHandleT privateAoHandle;
> + SaNameT objectName;/* The  Object name from the modif/delete ccb 
> operationi. The objectName is used to obtain
> + adminOnerName when saImmOiAugmentCcbInitialize is 
> called in completed-callback*/
> + SaNameT adminOwnerName; /* adminowner name of the ccb id, assigned at 
> ccb-create-callback.The adminOwnerName is used
> +saImmOiAugmentCcbInitialize is called in 
> completed-callback*/
>   };
>   
>   typedef struct imma_client_node {
> @@ -197,6 +201,7 @@ int imma_oi_ccb_record_set_critical(IMMA
>   int imma_oi_ccb_record_terminate(IMMA_CLIENT_NODE *cl_node, SaImmOiCcbIdT 
> ccbId);
>   int imma_oi_ccb_record_abort(IMMA_CLIENT_NODE *cl_node, SaImmOiCcbIdT 
> ccbId);
>   int imma_oi_ccb_record_exists(IMMA_CLIENT_NODE *cl_node, SaImmOiCcbIdT 
> ccbId);
> +struct imma_oi_ccb_record * imma_oi_ccb_record_find(IMMA_CLIENT_NODE 
> *cl_node, SaImmOiCcbIdT ccbId);
>   int imma_oi_ccb_record_set_error(IMMA_CLIENT_NODE *cl_node, SaImmOiCcbIdT 
> ccbId, const SaStringT errorString);
>   SaStringT imma_oi_ccb_record_get_error(IMMA_CLIENT_NODE *cl_node, 
> SaImmOiCcbIdT ccbId);
>   void imma_oi_ccb_allow_error_string(IMMA_CLIENT_NODE *cl_node, 
> SaImmOiCcbIdT ccbId);
> diff --git a/osaf/libs/agents/saf/imma/imma_db.c 
> b/osaf/libs/agents/saf/imma/imma_db.c
> --- a/osaf/libs/agents/saf/imma/imma_db.c
> +++ b/osaf/libs/agents/saf/imma/imma_db.c
> @@ -24,6 +24,8 @@
>   
> */
>   
>   #include "imma.h"
> +#include "osaf_extended_name.h"
> +
>   
> /
> Name  : imma_client_tree_init
> Description   : This routine is used to initialize the client tree
> @@ -273,6 +275,9 @@ int imma_oi_ccb_record_delete(IMMA_CLIEN
>   to_delete->mCcbErrorString = NULL;
>   }
>   
> + osaf_extended_name_free(&(to_delete->objectName));
> + osaf_extended_name_free(&(to_delete->adminOwnerName));
> +
>   free(to_delete);
>   TRACE_LEAVE();
>   return 1;
> @@ -541,6 +546,11 @@ int imma_oi_ccb_record_note_callback(IMM
>*/
>   
>   int rs = 0;
> + const SaImmAttrNameT admoNameAttr = SA_IMM_ATTR_ADMIN_OWNER_NAME;
> + SaImmAttrValuesT_2 **attr, **attributes = NULL;
> + SaImmAttrValuesT_2 *attrVal = NULL;
> + size_t attrDataSize = 0;
> +
>   struct imma_oi_ccb_record *tmp = imma_oi_ccb_record_find(cl_node, 
> ccbId);
>   
>   if(tmp && !(tmp->isAborted)) {
> @@ -553,7 +563,96 @@ int imma_oi_ccb_record_note_callback(IMM
>   rs = 1;
>   }
>   }
> + if(callback){
>   
> +
> + int noOfAttributes = 0;
> +
> + /* NOTE: The code below is practically a copy of the 

Re: [devel] [PATCH 1 of 1] imm:allow augumentCcbInit with ROF as false in completed callback[#1956] V2

2016-12-01 Thread Neelakanta Reddy
Hi Hung,

comments inline.

On 2016/12/01 03:07 PM, Hung Nguyen wrote:
> Hi Neel,
>
> Besides Zoran's comment, I have 2 more comments inline.
>
> BR,
> Hung Nguyen - DEK Technologies
>
> 
> From: Neelakanta reddyreddy.neelaka...@oracle.com
> Sent: Wednesday, November 30, 2016 12:39PM
> To: Zoran Milinkovic, Hung Nguyen
>  zoran.milinko...@ericsson.com,hung.d.ngu...@dektech.com.au
> Cc: Opensaf-devel
>  opensaf-devel@lists.sourceforge.net
> Subject: [PATCH 1 of 1] imm:allow augumentCcbInit with ROF as false in 
> completed callback[#1956] V2
>
>
>   osaf/libs/agents/saf/imma/imma_cb.h |   5 +
>   osaf/libs/agents/saf/imma/imma_db.c |  99 
> +
>   osaf/libs/agents/saf/imma/imma_oi_api.c |  60 +++
>   osaf/libs/agents/saf/imma/imma_proc.c   |  64 ++---
>   4 files changed, 133 insertions(+), 95 deletions(-)
>
>
> Two new variables objectName and adminOwnerName added to imma_oi_ccb_record. 
> For CCB create operation adminOwnerName will be added.
> For CCB delete/modify operation objectName will be added
>
> diff --git a/osaf/libs/agents/saf/imma/imma_cb.h 
> b/osaf/libs/agents/saf/imma/imma_cb.h
> --- a/osaf/libs/agents/saf/imma/imma_cb.h
> +++ b/osaf/libs/agents/saf/imma/imma_cb.h
> @@ -36,6 +36,10 @@ struct imma_oi_ccb_record {
>   struct imma_callback_info* ccbCallback;
>   SaImmHandleT privateAugOmHandle;
>   SaImmAdminOwnerHandleT privateAoHandle;
> + SaNameT objectName;/* The  Object name from the modif/delete ccb 
> operationi. The objectName is used to obtain
> + adminOnerName when saImmOiAugmentCcbInitialize is 
> called in completed-callback*/
> + SaNameT adminOwnerName; /* adminowner name of the ccb id, assigned at 
> ccb-create-callback.The adminOwnerName is used
> +saImmOiAugmentCcbInitialize is called in 
> completed-callback*/
>   };
>   
>   typedef struct imma_client_node {
> @@ -197,6 +201,7 @@ int imma_oi_ccb_record_set_critical(IMMA
>   int imma_oi_ccb_record_terminate(IMMA_CLIENT_NODE *cl_node, SaImmOiCcbIdT 
> ccbId);
>   int imma_oi_ccb_record_abort(IMMA_CLIENT_NODE *cl_node, SaImmOiCcbIdT 
> ccbId);
>   int imma_oi_ccb_record_exists(IMMA_CLIENT_NODE *cl_node, SaImmOiCcbIdT 
> ccbId);
> +struct imma_oi_ccb_record * imma_oi_ccb_record_find(IMMA_CLIENT_NODE 
> *cl_node, SaImmOiCcbIdT ccbId);
>   int imma_oi_ccb_record_set_error(IMMA_CLIENT_NODE *cl_node, SaImmOiCcbIdT 
> ccbId, const SaStringT errorString);
>   SaStringT imma_oi_ccb_record_get_error(IMMA_CLIENT_NODE *cl_node, 
> SaImmOiCcbIdT ccbId);
>   void imma_oi_ccb_allow_error_string(IMMA_CLIENT_NODE *cl_node, 
> SaImmOiCcbIdT ccbId);
> diff --git a/osaf/libs/agents/saf/imma/imma_db.c 
> b/osaf/libs/agents/saf/imma/imma_db.c
> --- a/osaf/libs/agents/saf/imma/imma_db.c
> +++ b/osaf/libs/agents/saf/imma/imma_db.c
> @@ -24,6 +24,8 @@
>   
> */
>   
>   #include "imma.h"
> +#include "osaf_extended_name.h"
> +
>   
> /
> Name  : imma_client_tree_init
> Description   : This routine is used to initialize the client tree
> @@ -273,6 +275,9 @@ int imma_oi_ccb_record_delete(IMMA_CLIEN
>   to_delete->mCcbErrorString = NULL;
>   }
>   
> + osaf_extended_name_free(&(to_delete->objectName));
> + osaf_extended_name_free(&(to_delete->adminOwnerName));
> +
>   free(to_delete);
>   TRACE_LEAVE();
>   return 1;
> @@ -541,6 +546,11 @@ int imma_oi_ccb_record_note_callback(IMM
>*/
>   
>   int rs = 0;
> + const SaImmAttrNameT admoNameAttr = SA_IMM_ATTR_ADMIN_OWNER_NAME;
> + SaImmAttrValuesT_2 **attr, **attributes = NULL;
> + SaImmAttrValuesT_2 *attrVal = NULL;
> + size_t attrDataSize = 0;
> +
>   struct imma_oi_ccb_record *tmp = imma_oi_ccb_record_find(cl_node, 
> ccbId);
>   
>   if(tmp && !(tmp->isAborted)) {
> @@ -553,7 +563,96 @@ int imma_oi_ccb_record_note_callback(IMM
>   rs = 1;
>   }
>   }
> + if(callback){
>   
> +
> + int noOfAttributes = 0;
> +
> + /* NOTE: The code below is practically a copy of the code
> +in immOm searchNext, for serving the attrValues structure.
> +This code should be factored out into some common function.
> +  */
> + IMMSV_ATTR_VALUES_LIST *p = callback->attrValues;
> + int i = 0;
> + while (p) {
> + ++noOfAttributes;
> + p = p->next;
> + }
> +
> + p = callback->attrValues;
> +
> +
> + if(cl_node->isImmA2fCbk) {
> + if(noOfAttributes) {
> + p = 

Re: [devel] [PATCH 1 of 1] imm:allow augumentCcbInit with ROF as false in completed callback[#1956] V2

2016-12-01 Thread Hung Nguyen
Hi Neel,

Besides Zoran's comment, I have 2 more comments inline.

BR,

Hung Nguyen - DEK Technologies



From: Neelakanta Reddy reddy.neelaka...@oracle.com
Sent: Wednesday, November 30, 2016 12:39PM
To: Zoran Milinkovic, Hung Nguyen
 zoran.milinko...@ericsson.com, hung.d.ngu...@dektech.com.au
Cc: Opensaf-devel
 opensaf-devel@lists.sourceforge.net
Subject: [PATCH 1 of 1] imm:allow augumentCcbInit with ROF as false in 
completed callback[#1956] V2


  osaf/libs/agents/saf/imma/imma_cb.h |   5 +
  osaf/libs/agents/saf/imma/imma_db.c |  99 
+
  osaf/libs/agents/saf/imma/imma_oi_api.c |  60 +++
  osaf/libs/agents/saf/imma/imma_proc.c   |  64 ++---
  4 files changed, 133 insertions(+), 95 deletions(-)


Two new variables objectName and adminOwnerName added to imma_oi_ccb_record. 
For CCB create operation adminOwnerName will be added.
For CCB delete/modify operation objectName will be added

diff --git a/osaf/libs/agents/saf/imma/imma_cb.h 
b/osaf/libs/agents/saf/imma/imma_cb.h
--- a/osaf/libs/agents/saf/imma/imma_cb.h
+++ b/osaf/libs/agents/saf/imma/imma_cb.h
@@ -36,6 +36,10 @@ struct imma_oi_ccb_record {
struct imma_callback_info* ccbCallback;
SaImmHandleT privateAugOmHandle;
SaImmAdminOwnerHandleT privateAoHandle;
+   SaNameT objectName;/* The  Object name from the modif/delete ccb 
operationi. The objectName is used to obtain
+   adminOnerName when saImmOiAugmentCcbInitialize is 
called in completed-callback*/
+   SaNameT adminOwnerName; /* adminowner name of the ccb id, assigned at 
ccb-create-callback.The adminOwnerName is used
+saImmOiAugmentCcbInitialize is called in 
completed-callback*/
  };
  
  typedef struct imma_client_node {
@@ -197,6 +201,7 @@ int imma_oi_ccb_record_set_critical(IMMA
  int imma_oi_ccb_record_terminate(IMMA_CLIENT_NODE *cl_node, SaImmOiCcbIdT 
ccbId);
  int imma_oi_ccb_record_abort(IMMA_CLIENT_NODE *cl_node, SaImmOiCcbIdT ccbId);
  int imma_oi_ccb_record_exists(IMMA_CLIENT_NODE *cl_node, SaImmOiCcbIdT ccbId);
+struct imma_oi_ccb_record * imma_oi_ccb_record_find(IMMA_CLIENT_NODE *cl_node, 
SaImmOiCcbIdT ccbId);
  int imma_oi_ccb_record_set_error(IMMA_CLIENT_NODE *cl_node, SaImmOiCcbIdT 
ccbId, const SaStringT errorString);
  SaStringT imma_oi_ccb_record_get_error(IMMA_CLIENT_NODE *cl_node, 
SaImmOiCcbIdT ccbId);
  void imma_oi_ccb_allow_error_string(IMMA_CLIENT_NODE *cl_node, SaImmOiCcbIdT 
ccbId);
diff --git a/osaf/libs/agents/saf/imma/imma_db.c 
b/osaf/libs/agents/saf/imma/imma_db.c
--- a/osaf/libs/agents/saf/imma/imma_db.c
+++ b/osaf/libs/agents/saf/imma/imma_db.c
@@ -24,6 +24,8 @@
  */
  
  #include "imma.h"
+#include "osaf_extended_name.h"
+
  /
Name  : imma_client_tree_init
Description   : This routine is used to initialize the client tree
@@ -273,6 +275,9 @@ int imma_oi_ccb_record_delete(IMMA_CLIEN
to_delete->mCcbErrorString = NULL;
}
  
+   osaf_extended_name_free(&(to_delete->objectName));
+   osaf_extended_name_free(&(to_delete->adminOwnerName));
+
free(to_delete);
TRACE_LEAVE();
return 1;
@@ -541,6 +546,11 @@ int imma_oi_ccb_record_note_callback(IMM
 */
  
int rs = 0;
+   const SaImmAttrNameT admoNameAttr = SA_IMM_ATTR_ADMIN_OWNER_NAME;
+   SaImmAttrValuesT_2 **attr, **attributes = NULL;
+   SaImmAttrValuesT_2 *attrVal = NULL;
+   size_t attrDataSize = 0;
+
struct imma_oi_ccb_record *tmp = imma_oi_ccb_record_find(cl_node, 
ccbId);
  
if(tmp && !(tmp->isAborted)) {
@@ -553,7 +563,96 @@ int imma_oi_ccb_record_note_callback(IMM
rs = 1;
}
}
+   if(callback){
  
+
+   int noOfAttributes = 0;
+
+   /* NOTE: The code below is practically a copy of the code
+  in immOm searchNext, for serving the attrValues structure.
+  This code should be factored out into some common function.
+*/
+   IMMSV_ATTR_VALUES_LIST *p = callback->attrValues;
+   int i = 0;
+   while (p) {
+   ++noOfAttributes;
+   p = p->next;
+   }
+
+   p = callback->attrValues;
+
+
+   if(cl_node->isImmA2fCbk) {
+   if(noOfAttributes) {
+   p = p->next;  // Skip RDN. RDN is the first 
attribute
+   noOfAttributes--;
+   }
+   }
+
+   attrDataSize = sizeof(SaImmAttrValuesT_2 *) * (noOfAttributes + 
1);
+ 

Re: [devel] [PATCH 1 of 1] imm:allow augumentCcbInit with ROF as false in completed callback[#1956] V2

2016-12-01 Thread Zoran Milinkovic
Hi Neelakanta,

Ack from me when the code is fixed.

Thanks,
Zoran

From: Neelakanta Reddy [mailto:reddy.neelaka...@oracle.com]
Sent: den 1 december 2016 10:35
To: Zoran Milinkovic ; Hung Duc Nguyen 

Cc: opensaf-devel@lists.sourceforge.net
Subject: Re: [PATCH 1 of 1] imm:allow augumentCcbInit with ROF as false in 
completed callback[#1956] V2

Hi zoran,

Yes, the code needs to be corrected for IMMA_CALLBACK_OI_CCB_COMPLETED.

Thanks,
Neel.
On 2016/12/01 02:42 PM, Zoran Milinkovic wrote:
Hi Hung,

Then the code needs to be fixed, and objectName variable can remain in the code.
Otherwise I don't see the purpose of the variable.

Thanks,
Zoran


From: Hung Nguyen [mailto:hung.d.ngu...@dektech.com.au]
Sent: den 1 december 2016 10:04
To: Zoran Milinkovic 
; 
Neelakanta Reddy 

Cc: 
opensaf-devel@lists.sourceforge.net
Subject: Re: [PATCH 1 of 1] imm:allow augumentCcbInit with ROF as false in 
completed callback[#1956] V2


Hi Zoran,



It's still needed, Neel just forgot to pass the 'object' param to 
immsv_om_augment_ccb_get_admo_name() when it's IMMA_CALLBACK_OI_CCB_COMPLETED.

'cbi->name' is not set (not usable) when it's a CcbCompletedCallback and we 
have to use 'object' param instead.



BR,

Hung Nguyen - DEK Technologies




From: Zoran Milinkovic 
zoran.milinko...@ericsson.com

Sent: Thursday, December 01, 2016 3:53PM

To: Neelakanta Reddy, Hung Nguyen

reddy.neelaka...@oracle.com, 
hung.d.ngu...@dektech.com.au

Cc: Opensaf-devel


opensaf-devel@lists.sourceforge.net

Subject: RE: [PATCH 1 of 1] imm:allow augumentCcbInit with ROF as false in 
completed callback[#1956] V2



Hi Neelakanta,



I still don't see where you use the new objectName variable.

The only place where the variable is used is:



+   if((cbi->type == IMMA_CALLBACK_OI_CCB_CREATE)|| 
((cbi->type == IMMA_CALLBACK_OI_CCB_COMPLETED) &&

+   
!osaf_is_extended_name_empty(&(ccb_oi_record->adminOwnerName{

+   admName = ccb_oi_record->adminOwnerName;

+   } else {

+   rc = getAdmoName(privateOmHandle, cbi, 
&(ccb_oi_record->objectName),);

+   }



But, if you look at getAdmoName()  function, you will see that the third 
parameter is not used in the function at all, and it implies that objectName is 
not needed as well.



Thanks,

Zoran



-Original Message-

From: Neelakanta Reddy [mailto:reddy.neelaka...@oracle.com]

Sent: den 1 december 2016 05:56

To: Zoran Milinkovic 
; Hung Duc 
Nguyen 

Cc: 
opensaf-devel@lists.sourceforge.net

Subject: Re: [PATCH 1 of 1] imm:allow augumentCcbInit with ROF as false in 
completed callback[#1956] V2



Hi Zoran,



comments inline.



On 2016/11/30 06:11 PM, Zoran Milinkovic wrote:



From: Zoran Milinkovic 
zoran.milinko...@ericsson.com

Sent: Thursday, December 01, 2016 3:53PM

To: Neelakanta Reddy, Hung Nguyen

reddy.neelaka...@oracle.com, 
hung.d.ngu...@dektech.com.au

Cc: Opensaf-devel


opensaf-devel@lists.sourceforge.net

Subject: RE: [PATCH 1 of 1] imm:allow augumentCcbInit with ROF as false in 
completed callback[#1956] V2





Hi Neelakanta,



The new objectName variable is not used in the code.

I think here you are referring to variable name.

The variable name can be changed to object.

I would rather like to see adminOwnerName as some sort of string type than 
using SaNameT. This is not an issue in the patch, only the suggestion.

The reason for this is to try to avoid using SaNameT type as much as possible, 
and replace it with SaImmAdminOwnerNameT (or other sting type).

SaStringT will be used for both object and adminOwnerName

Find other comments inline



-Original Message-

From: reddy.neelaka...@oracle.com 
[mailto:reddy.neelaka...@oracle.com]

Sent: den 30 november 2016 06:39

To: Zoran Milinkovic 
; Hung Duc 
Nguyen



Cc: 

Re: [devel] [PATCH 1 of 1] imm:allow augumentCcbInit with ROF as false in completed callback[#1956] V2

2016-12-01 Thread Neelakanta Reddy
Hi zoran,

Yes, the code needs to be corrected for IMMA_CALLBACK_OI_CCB_COMPLETED.

Thanks,
Neel.

On 2016/12/01 02:42 PM, Zoran Milinkovic wrote:
>
> Hi Hung,
>
> Then the code needs to be fixed, and objectName variable can remain in 
> the code.
>
> Otherwise I don’t see the purpose of the variable.
>
> Thanks,
>
> Zoran
>
> *From:*Hung Nguyen [mailto:hung.d.ngu...@dektech.com.au]
> *Sent:* den 1 december 2016 10:04
> *To:* Zoran Milinkovic ; Neelakanta 
> Reddy 
> *Cc:* opensaf-devel@lists.sourceforge.net
> *Subject:* Re: [PATCH 1 of 1] imm:allow augumentCcbInit with ROF as 
> false in completed callback[#1956] V2
>
> Hi Zoran,
>   
> It's still needed, Neel just forgot to pass the 'object' param to 
> immsv_om_augment_ccb_get_admo_name() when it's IMMA_CALLBACK_OI_CCB_COMPLETED.
> 'cbi->name' is not set (not usable) when it's a CcbCompletedCallback and we 
> have to use 'object' param instead.
>   
> BR,
> Hung Nguyen - DEK Technologies
>
> 
> From: Zoran milinkoviczoran.milinko...@ericsson.com 
> 
> Sent: Thursday, December 01, 2016 3:53PM
> To: Neelakanta Reddy, Hung Nguyen
>  reddy.neelaka...@oracle.com 
> ,hung.d.ngu...@dektech.com.au 
> 
> Cc: Opensaf-devel
>  opensaf-devel@lists.sourceforge.net 
> 
> Subject: RE: [PATCH 1 of 1] imm:allow augumentCcbInit with ROF as false in 
> completed callback[#1956] V2
>   
> Hi Neelakanta,
>   
> I still don't see where you use the new objectName variable.
> The only place where the variable is used is:
>   
> +   if((cbi->type == IMMA_CALLBACK_OI_CCB_CREATE)|| 
> ((cbi->type == IMMA_CALLBACK_OI_CCB_COMPLETED) &&
> +   
> !osaf_is_extended_name_empty(&(ccb_oi_record->adminOwnerName{
> +   admName = ccb_oi_record->adminOwnerName;
> +   } else {
> +   rc = getAdmoName(privateOmHandle, cbi, 
> &(ccb_oi_record->objectName),);
> +   }
>   
> But, if you look at getAdmoName()  function, you will see that the third 
> parameter is not used in the function at all, and it implies that objectName 
> is not needed as well.
>   
> Thanks,
> Zoran
>   
> -Original Message-
> From: Neelakanta Reddy [mailto:reddy.neelaka...@oracle.com]
> Sent: den 1 december 2016 05:56
> To: Zoran Milinkovic 
> ; Hung Duc 
> Nguyen 
> Cc:opensaf-devel@lists.sourceforge.net 
> 
> Subject: Re: [PATCH 1 of 1] imm:allow augumentCcbInit with ROF as false in 
> completed callback[#1956] V2
>   
> Hi Zoran,
>   
> comments inline.
>   
> On 2016/11/30 06:11 PM, Zoran Milinkovic wrote:
> 
> From: Zoran milinkoviczoran.milinko...@ericsson.com 
> 
> Sent: Thursday, December 01, 2016 3:53PM
> To: Neelakanta Reddy, Hung Nguyen
>  reddy.neelaka...@oracle.com 
> ,hung.d.ngu...@dektech.com.au 
> 
> Cc: Opensaf-devel
>  opensaf-devel@lists.sourceforge.net 
> 
> Subject: RE: [PATCH 1 of 1] imm:allow augumentCcbInit with ROF as false in 
> completed callback[#1956] V2
>   
>   
>
> Hi Neelakanta,
>
>   
>
> The new objectName variable is not used in the code.
>
> I think here you are referring to variable name.
> The variable name can be changed to object.
>
> I would rather like to see adminOwnerName as some sort of string type 
> than using SaNameT. This is not an issue in the patch, only the suggestion.
>
> The reason for this is to try to avoid using SaNameT type as much as 
> possible, and replace it with SaImmAdminOwnerNameT (or other sting type).
>
> SaStringT will be used for both object and adminOwnerName
>
> Find other comments inline
>
>   
>
> -Original Message-
>
> From:reddy.neelaka...@oracle.com   
> [mailto:reddy.neelaka...@oracle.com]
>
> Sent: den 30 november 2016 06:39
>
> To: Zoran Milinkovic 
> ; Hung Duc Nguyen
>
>  
>
> Cc:opensaf-devel@lists.sourceforge.net
> 
>
> Subject: [PATCH 1 of 1] imm:allow augumentCcbInit with ROF as false in
>
> completed callback[#1956] V2
>
>   
>
>osaf/libs/agents/saf/imma/imma_cb.h |   5 +
>

Re: [devel] [PATCH 1 of 1] AMFD: Do not let non-active AMFD receives CLM track callback [#2141]

2016-12-01 Thread Nagendra Kumar
Hi Gary,
> I’m not sure if reboot the standby node is acceptable. It might be standby 
> for AMF, but active for other SGs.

It is very rare to come upto the point that Standby Amfd has to reboot the node.
The CLM stop API should succeed in normal situations(When it has become 
Standby) if it fails during transition(Act to Quiesced).
I am also saying to retry if it doesn't stop for couple of times.
I don't find any issue with the approach.

Thanks
-Nagu
> -Original Message-
> From: Gary Lee [mailto:gary@dektech.com.au]
> Sent: 01 December 2016 14:26
> To: Nagendra Kumar
> Cc: minh chau; Praveen Malviya; hans.nordeb...@ericsson.com;
> long.hb.ngu...@dektech.com.au; opensaf-devel@lists.sourceforge.net
> Subject: Re: [PATCH 1 of 1] AMFD: Do not let non-active AMFD receives CLM
> track callback [#2141]
> 
> Hi guys
> 
> 
> > On 1 Dec. 2016, at 4:24 pm, Nagendra Kumar 
> wrote:
> >
> > Hi Minh,
> > But fixing small thing is complicating the code. You can just try to
> stop CLM track again in Quisced->Standby transition and even if it fails you
> may try few times as it is Standby and it is not doing much job accept that 
> it is
> receiving some checkpoints. If that fails, it is ok to reboot the Standby 
> node.
> I am sure this is very rare case and the added code may not be getting
> chance to get executed.
> 
> I’m not sure if reboot the standby node is acceptable. It might be standby for
> AMF, but active for other SGs.
> 
> > Also, it is important to investigate why CLM is giving try-again.
> >
> > Thanks
> > -Nagu
> 
> Thanks
> Gary
> 

--
___
Opensaf-devel mailing list
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel


Re: [devel] [PATCH 1 of 1] imm:allow augumentCcbInit with ROF as false in completed callback[#1956] V2

2016-12-01 Thread Zoran Milinkovic
Hi Hung,

Then the code needs to be fixed, and objectName variable can remain in the code.
Otherwise I don't see the purpose of the variable.

Thanks,
Zoran


From: Hung Nguyen [mailto:hung.d.ngu...@dektech.com.au]
Sent: den 1 december 2016 10:04
To: Zoran Milinkovic ; Neelakanta Reddy 

Cc: opensaf-devel@lists.sourceforge.net
Subject: Re: [PATCH 1 of 1] imm:allow augumentCcbInit with ROF as false in 
completed callback[#1956] V2


Hi Zoran,



It's still needed, Neel just forgot to pass the 'object' param to 
immsv_om_augment_ccb_get_admo_name() when it's IMMA_CALLBACK_OI_CCB_COMPLETED.

'cbi->name' is not set (not usable) when it's a CcbCompletedCallback and we 
have to use 'object' param instead.



BR,

Hung Nguyen - DEK Technologies




From: Zoran Milinkovic 
zoran.milinko...@ericsson.com

Sent: Thursday, December 01, 2016 3:53PM

To: Neelakanta Reddy, Hung Nguyen

reddy.neelaka...@oracle.com, 
hung.d.ngu...@dektech.com.au

Cc: Opensaf-devel


opensaf-devel@lists.sourceforge.net

Subject: RE: [PATCH 1 of 1] imm:allow augumentCcbInit with ROF as false in 
completed callback[#1956] V2



Hi Neelakanta,



I still don't see where you use the new objectName variable.

The only place where the variable is used is:



+   if((cbi->type == IMMA_CALLBACK_OI_CCB_CREATE)|| 
((cbi->type == IMMA_CALLBACK_OI_CCB_COMPLETED) &&

+   
!osaf_is_extended_name_empty(&(ccb_oi_record->adminOwnerName{

+   admName = ccb_oi_record->adminOwnerName;

+   } else {

+   rc = getAdmoName(privateOmHandle, cbi, 
&(ccb_oi_record->objectName),);

+   }



But, if you look at getAdmoName()  function, you will see that the third 
parameter is not used in the function at all, and it implies that objectName is 
not needed as well.



Thanks,

Zoran



-Original Message-

From: Neelakanta Reddy [mailto:reddy.neelaka...@oracle.com]

Sent: den 1 december 2016 05:56

To: Zoran Milinkovic 
; Hung Duc 
Nguyen 

Cc: 
opensaf-devel@lists.sourceforge.net

Subject: Re: [PATCH 1 of 1] imm:allow augumentCcbInit with ROF as false in 
completed callback[#1956] V2



Hi Zoran,



comments inline.



On 2016/11/30 06:11 PM, Zoran Milinkovic wrote:



From: Zoran Milinkovic 
zoran.milinko...@ericsson.com

Sent: Thursday, December 01, 2016 3:53PM

To: Neelakanta Reddy, Hung Nguyen

reddy.neelaka...@oracle.com, 
hung.d.ngu...@dektech.com.au

Cc: Opensaf-devel


opensaf-devel@lists.sourceforge.net

Subject: RE: [PATCH 1 of 1] imm:allow augumentCcbInit with ROF as false in 
completed callback[#1956] V2





Hi Neelakanta,



The new objectName variable is not used in the code.

I think here you are referring to variable name.

The variable name can be changed to object.

I would rather like to see adminOwnerName as some sort of string type than 
using SaNameT. This is not an issue in the patch, only the suggestion.

The reason for this is to try to avoid using SaNameT type as much as possible, 
and replace it with SaImmAdminOwnerNameT (or other sting type).

SaStringT will be used for both object and adminOwnerName

Find other comments inline



-Original Message-

From: reddy.neelaka...@oracle.com 
[mailto:reddy.neelaka...@oracle.com]

Sent: den 30 november 2016 06:39

To: Zoran Milinkovic 
; Hung Duc 
Nguyen



Cc: 
opensaf-devel@lists.sourceforge.net

Subject: [PATCH 1 of 1] imm:allow augumentCcbInit with ROF as false in

completed callback[#1956] V2



  osaf/libs/agents/saf/imma/imma_cb.h |   5 +

  osaf/libs/agents/saf/imma/imma_db.c |  99 
+

  osaf/libs/agents/saf/imma/imma_oi_api.c |  60 +++

  osaf/libs/agents/saf/imma/imma_proc.c   |  64 ++---

  4 files changed, 133 insertions(+), 95 deletions(-)





Two new variables objectName and adminOwnerName added to imma_oi_ccb_record. 
For CCB create operation adminOwnerName will be added.

For CCB delete/modify operation objectName will be added

Re: [devel] [PATCH 1 of 1] imm:allow augumentCcbInit with ROF as false in completed callback[#1956] V2

2016-12-01 Thread Hung Nguyen
Hi Zoran,

It's still needed, Neel just forgot to pass the 'object' param to 
immsv_om_augment_ccb_get_admo_name() when it's IMMA_CALLBACK_OI_CCB_COMPLETED.
'cbi->name' is not set (not usable) when it's a CcbCompletedCallback and we 
have to use 'object' param instead.

BR,

Hung Nguyen - DEK Technologies



From: Zoran Milinkovic zoran.milinko...@ericsson.com
Sent: Thursday, December 01, 2016 3:53PM
To: Neelakanta Reddy, Hung Nguyen
 reddy.neelaka...@oracle.com, hung.d.ngu...@dektech.com.au
Cc: Opensaf-devel
 opensaf-devel@lists.sourceforge.net
Subject: RE: [PATCH 1 of 1] imm:allow augumentCcbInit with ROF as false in 
completed callback[#1956] V2

Hi Neelakanta,

I still don't see where you use the new objectName variable.
The only place where the variable is used is:

+   if((cbi->type == IMMA_CALLBACK_OI_CCB_CREATE)|| 
((cbi->type == IMMA_CALLBACK_OI_CCB_COMPLETED) &&
+   
!osaf_is_extended_name_empty(&(ccb_oi_record->adminOwnerName{
+   admName = ccb_oi_record->adminOwnerName;
+   } else {
+   rc = getAdmoName(privateOmHandle, cbi, 
&(ccb_oi_record->objectName),);
+   }

But, if you look at getAdmoName()  function, you will see that the third 
parameter is not used in the function at all, and it implies that objectName is 
not needed as well.

Thanks,
Zoran

-Original Message-
From: Neelakanta Reddy [mailto:reddy.neelaka...@oracle.com]
Sent: den 1 december 2016 05:56
To: Zoran Milinkovic ; Hung Duc Nguyen 

Cc: opensaf-devel@lists.sourceforge.net
Subject: Re: [PATCH 1 of 1] imm:allow augumentCcbInit with ROF as false in 
completed callback[#1956] V2

Hi Zoran,

comments inline.

On 2016/11/30 06:11 PM, Zoran Milinkovic wrote:


From: Zoran Milinkovic zoran.milinko...@ericsson.com
Sent: Thursday, December 01, 2016 3:53PM
To: Neelakanta Reddy, Hung Nguyen
 reddy.neelaka...@oracle.com, hung.d.ngu...@dektech.com.au
Cc: Opensaf-devel
 opensaf-devel@lists.sourceforge.net
Subject: RE: [PATCH 1 of 1] imm:allow augumentCcbInit with ROF as false in 
completed callback[#1956] V2


> Hi Neelakanta,
>
> The new objectName variable is not used in the code.

I think here you are referring to variable name.
The variable name can be changed to object.

> I would rather like to see adminOwnerName as some sort of string type than 
> using SaNameT. This is not an issue in the patch, only the suggestion.
> The reason for this is to try to avoid using SaNameT type as much as 
> possible, and replace it with SaImmAdminOwnerNameT (or other sting type).

SaStringT will be used for both object and adminOwnerName

> Find other comments inline
>
> -Original Message-
> From: reddy.neelaka...@oracle.com [mailto:reddy.neelaka...@oracle.com]
> Sent: den 30 november 2016 06:39
> To: Zoran Milinkovic ; Hung Duc Nguyen
> 
> Cc: opensaf-devel@lists.sourceforge.net
> Subject: [PATCH 1 of 1] imm:allow augumentCcbInit with ROF as false in
> completed callback[#1956] V2
>
>osaf/libs/agents/saf/imma/imma_cb.h |   5 +
>osaf/libs/agents/saf/imma/imma_db.c |  99 
> +
>osaf/libs/agents/saf/imma/imma_oi_api.c |  60 +++
>osaf/libs/agents/saf/imma/imma_proc.c   |  64 ++---
>4 files changed, 133 insertions(+), 95 deletions(-)
>
>
> Two new variables objectName and adminOwnerName added to imma_oi_ccb_record. 
> For CCB create operation adminOwnerName will be added.
> For CCB delete/modify operation objectName will be added
>
> diff --git a/osaf/libs/agents/saf/imma/imma_cb.h
> b/osaf/libs/agents/saf/imma/imma_cb.h
> --- a/osaf/libs/agents/saf/imma/imma_cb.h
> +++ b/osaf/libs/agents/saf/imma/imma_cb.h
> @@ -36,6 +36,10 @@ struct imma_oi_ccb_record {
>struct imma_callback_info* ccbCallback;
>SaImmHandleT privateAugOmHandle;
>SaImmAdminOwnerHandleT privateAoHandle;
> +SaNameT objectName;/* The  Object name from the modif/delete ccb operationi. 
> The objectName is used to obtain
> +adminOnerName when saImmOiAugmentCcbInitialize is called in
> +completed-callback*/
>
> [Zoran] objectName is not used in the code. It can be removed from the
> patch

The ObjectName will be changed to "SastingT Object".
The object variable is required to store the object name in the case of 
modify/delete ccb operation

> +SaNameT adminOwnerName; /* adminowner name of the ccb id, assigned at 
> ccb-create-callback.The adminOwnerName is used
> +saImmOiAugmentCcbInitialize is called in
> +completed-callback*/
>};
>
>typedef struct imma_client_node {
> @@ -197,6 +201,7 @@ int 

Re: [devel] [PATCH 1 of 1] AMFD: Do not let non-active AMFD receives CLM track callback [#2141]

2016-12-01 Thread Gary Lee
Hi guys


> On 1 Dec. 2016, at 4:24 pm, Nagendra Kumar  wrote:
> 
> Hi Minh,
>   But fixing small thing is complicating the code. You can just try to 
> stop CLM track again in Quisced->Standby transition and even if it fails you 
> may try few times as it is Standby and it is not doing much job accept that 
> it is receiving some checkpoints. If that fails, it is ok to reboot the 
> Standby node. I am sure this is very rare case and the added code may not be 
> getting chance to get executed.

I’m not sure if reboot the standby node is acceptable. It might be standby for 
AMF, but active for other SGs.

> Also, it is important to investigate why CLM is giving try-again.
> 
> Thanks
> -Nagu

Thanks
Gary


--
___
Opensaf-devel mailing list
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel


Re: [devel] [PATCH 1 of 1] imm:allow augumentCcbInit with ROF as false in completed callback[#1956] V2

2016-12-01 Thread Zoran Milinkovic
Hi Neelakanta,

I still don't see where you use the new objectName variable.
The only place where the variable is used is:

+   if((cbi->type == IMMA_CALLBACK_OI_CCB_CREATE)|| 
((cbi->type == IMMA_CALLBACK_OI_CCB_COMPLETED) && 
+   
!osaf_is_extended_name_empty(&(ccb_oi_record->adminOwnerName{
+   admName = ccb_oi_record->adminOwnerName;
+   } else {
+   rc = getAdmoName(privateOmHandle, cbi, 
&(ccb_oi_record->objectName),);
+   }

But, if you look at getAdmoName()  function, you will see that the third 
parameter is not used in the function at all, and it implies that objectName is 
not needed as well.

Thanks,
Zoran

-Original Message-
From: Neelakanta Reddy [mailto:reddy.neelaka...@oracle.com] 
Sent: den 1 december 2016 05:56
To: Zoran Milinkovic ; Hung Duc Nguyen 

Cc: opensaf-devel@lists.sourceforge.net
Subject: Re: [PATCH 1 of 1] imm:allow augumentCcbInit with ROF as false in 
completed callback[#1956] V2

Hi Zoran,

comments inline.

On 2016/11/30 06:11 PM, Zoran Milinkovic wrote:
> Hi Neelakanta,
>
> The new objectName variable is not used in the code.
I think here you are referring to variable name.
The variable name can be changed to object.
> I would rather like to see adminOwnerName as some sort of string type than 
> using SaNameT. This is not an issue in the patch, only the suggestion.
> The reason for this is to try to avoid using SaNameT type as much as 
> possible, and replace it with SaImmAdminOwnerNameT (or other sting type).
SaStringT will be used for both object and adminOwnerName
>
> Find other comments inline
>
> -Original Message-
> From: reddy.neelaka...@oracle.com [mailto:reddy.neelaka...@oracle.com]
> Sent: den 30 november 2016 06:39
> To: Zoran Milinkovic ; Hung Duc Nguyen 
> 
> Cc: opensaf-devel@lists.sourceforge.net
> Subject: [PATCH 1 of 1] imm:allow augumentCcbInit with ROF as false in 
> completed callback[#1956] V2
>
>   osaf/libs/agents/saf/imma/imma_cb.h |   5 +
>   osaf/libs/agents/saf/imma/imma_db.c |  99 
> +
>   osaf/libs/agents/saf/imma/imma_oi_api.c |  60 +++
>   osaf/libs/agents/saf/imma/imma_proc.c   |  64 ++---
>   4 files changed, 133 insertions(+), 95 deletions(-)
>
>
> Two new variables objectName and adminOwnerName added to imma_oi_ccb_record. 
> For CCB create operation adminOwnerName will be added.
> For CCB delete/modify operation objectName will be added
>
> diff --git a/osaf/libs/agents/saf/imma/imma_cb.h 
> b/osaf/libs/agents/saf/imma/imma_cb.h
> --- a/osaf/libs/agents/saf/imma/imma_cb.h
> +++ b/osaf/libs/agents/saf/imma/imma_cb.h
> @@ -36,6 +36,10 @@ struct imma_oi_ccb_record {
>   struct imma_callback_info* ccbCallback;
>   SaImmHandleT privateAugOmHandle;
>   SaImmAdminOwnerHandleT privateAoHandle;
> + SaNameT objectName;/* The  Object name from the modif/delete ccb 
> operationi. The objectName is used to obtain
> + adminOnerName when saImmOiAugmentCcbInitialize is 
> called in 
> +completed-callback*/
>
> [Zoran] objectName is not used in the code. It can be removed from the 
> patch
The ObjectName will be changed to "SastingT Object".
The object variable is required to store the object name in the case of 
modify/delete ccb operation
>
> + SaNameT adminOwnerName; /* adminowner name of the ccb id, assigned at 
> ccb-create-callback.The adminOwnerName is used
> +saImmOiAugmentCcbInitialize is called in 
> +completed-callback*/
>   };
>
>   typedef struct imma_client_node {
> @@ -197,6 +201,7 @@ int imma_oi_ccb_record_set_critical(IMMA
>   int imma_oi_ccb_record_terminate(IMMA_CLIENT_NODE *cl_node, SaImmOiCcbIdT 
> ccbId);
>   int imma_oi_ccb_record_abort(IMMA_CLIENT_NODE *cl_node, SaImmOiCcbIdT 
> ccbId);
>   int imma_oi_ccb_record_exists(IMMA_CLIENT_NODE *cl_node, 
> SaImmOiCcbIdT ccbId);
> +struct imma_oi_ccb_record * imma_oi_ccb_record_find(IMMA_CLIENT_NODE 
> +*cl_node, SaImmOiCcbIdT ccbId);
>   int imma_oi_ccb_record_set_error(IMMA_CLIENT_NODE *cl_node, SaImmOiCcbIdT 
> ccbId, const SaStringT errorString);
>   SaStringT imma_oi_ccb_record_get_error(IMMA_CLIENT_NODE *cl_node, 
> SaImmOiCcbIdT ccbId);
>   void imma_oi_ccb_allow_error_string(IMMA_CLIENT_NODE *cl_node, 
> SaImmOiCcbIdT ccbId); diff --git a/osaf/libs/agents/saf/imma/imma_db.c 
> b/osaf/libs/agents/saf/imma/imma_db.c
> --- a/osaf/libs/agents/saf/imma/imma_db.c
> +++ b/osaf/libs/agents/saf/imma/imma_db.c
> @@ -24,6 +24,8 @@
>   
> **
> ***/
>   
>   #include "imma.h"
> +#include "osaf_extended_name.h"
> +
>   
> /
> 

Re: [devel] [PATCH 2 of 3] cpsv : update cpsv error handing based on leap changes [#2202]

2016-12-01 Thread A V Mahesh

Hi Ramesh,

- Most of the  your review comment are related to cpnd_ckpt_sec_write()
   in case of cpnd_ckpt_sec_write fail nothing to be rollback of any 
cktp/section recently/long back/just- created
   just need to report we are not able to write user data in to SHM, so 
that the user will re-write


   So No action required.

- Few of them addressed in #2207

- Other comment are addressed

Please find the attached updated patch for your reference .

-AVM

On 12/1/2016 12:08 PM, ramesh betham wrote:

Hi Mahesh,

Please find my review comments inline with [Ramesh].

Thanks,
Ramesh.

On 11/29/2016 4:07 PM, mahesh.va...@oracle.com wrote:

  osaf/libs/common/cpsv/include/cpnd_cb.h   |   4 +-
  osaf/libs/common/cpsv/include/cpnd_init.h |   8 +-
  osaf/libs/common/cpsv/include/cpnd_sec.h  |   2 +-
  osaf/libs/core/include/ncs_osprm.h|   2 +-
  osaf/services/saf/cpsv/cpnd/cpnd_db.c |  12 ++--
  osaf/services/saf/cpsv/cpnd/cpnd_evt.c|  82 +-
  osaf/services/saf/cpsv/cpnd/cpnd_proc.c   |  31 ++
  osaf/services/saf/cpsv/cpnd/cpnd_res.c|  24 +++--
  osaf/services/saf/cpsv/cpnd/cpnd_sec.cc   |  12 ++--
  9 files changed, 103 insertions(+), 74 deletions(-)


diff --git a/osaf/libs/common/cpsv/include/cpnd_cb.h 
b/osaf/libs/common/cpsv/include/cpnd_cb.h
--- a/osaf/libs/common/cpsv/include/cpnd_cb.h
+++ b/osaf/libs/common/cpsv/include/cpnd_cb.h
@@ -341,8 +341,8 @@ uint32_t cpnd_amf_register(CPND_CB *cpnd
  uint32_t cpnd_amf_deregister(CPND_CB *cpnd_cb);
  uint32_t cpnd_client_extract_bits(uint32_t bitmap_value, uint32_t 
*bit_position);
  uint32_t cpnd_res_ckpt_sec_del(CPND_CKPT_NODE *cp_node);
-uint32_t cpnd_ckpt_replica_create_res(NCS_OS_POSIX_SHM_REQ_INFO *open_req, 
char *buf, CPND_CKPT_NODE **cp_node,
-   uint32_t ref_cnt, CKPT_INFO 
*cp_info, bool shm_alloc_guaranteed);
+uint32_t cpnd_ckpt_replica_create_res(CPND_CB *cb, NCS_OS_POSIX_SHM_REQ_INFO 
*open_req, char *buf, CPND_CKPT_NODE **cp_node,
+   uint32_t ref_cnt, CKPT_INFO 
*cp_info);
  int32_t cpnd_find_free_loc(CPND_CB *cb, CPND_TYPE_INFO type);
  uint32_t cpnd_ckpt_write_header(CPND_CB *cb, uint32_t nckpts);
  uint32_t cpnd_cli_info_write_header(CPND_CB *cb, int32_t n_clients);
diff --git a/osaf/libs/common/cpsv/include/cpnd_init.h 
b/osaf/libs/common/cpsv/include/cpnd_init.h
--- a/osaf/libs/common/cpsv/include/cpnd_init.h
+++ b/osaf/libs/common/cpsv/include/cpnd_init.h
@@ -90,7 +90,7 @@ uint32_t cpnd_ckpt_replica_create(CPND_C
  uint32_t cpnd_ckpt_remote_cpnd_add(CPND_CKPT_NODE *cp_node, MDS_DEST 
mds_info);
  uint32_t cpnd_ckpt_remote_cpnd_del(CPND_CKPT_NODE *cp_node, MDS_DEST 
mds_info);
  int32_t cpnd_ckpt_get_lck_sec_id(CPND_CKPT_NODE *cp_node);
-uint32_t cpnd_ckpt_sec_write(CPND_CKPT_NODE *cp_node, CPND_CKPT_SECTION_INFO
+uint32_t cpnd_ckpt_sec_write(CPND_CB *cb, CPND_CKPT_NODE *cp_node, 
CPND_CKPT_SECTION_INFO
  *sec_info, const void *data, uint64_t size, uint64_t 
offset, uint32_t type);
  uint32_t cpnd_ckpt_sec_read(CPND_CKPT_NODE *cp_node, CPND_CKPT_SECTION_INFO
 *sec_info, void *data, uint64_t size, uint64_t offset);
@@ -164,7 +164,7 @@ void cpnd_evt_node_getnext(CPND_CB *cb,
  uint32_t cpnd_evt_node_add(CPND_CB *cb, CPSV_CPND_ALL_REPL_EVT_NODE 
*evt_node);
  uint32_t cpnd_evt_node_del(CPND_CB *cb, CPSV_CPND_ALL_REPL_EVT_NODE 
*evt_node);
  CPND_CKPT_NODE *cpnd_ckpt_node_find_by_name(CPND_CB *cpnd_cb, SaConstStringT 
ckpt_name);
-CPND_CKPT_SECTION_INFO *cpnd_ckpt_sec_add(CPND_CKPT_NODE *cp_node, 
SaCkptSectionIdT *id, SaTimeT exp_time,
+CPND_CKPT_SECTION_INFO *cpnd_ckpt_sec_add(CPND_CB *cb, CPND_CKPT_NODE 
*cp_node, SaCkptSectionIdT *id, SaTimeT exp_time,
  uint32_t gen_flag);
  void cpnd_evt_backup_queue_add(CPND_CKPT_NODE *cp_node, CPND_EVT *evt);
  uint32_t cpnd_ckpt_node_tree_init(CPND_CB *cb);
@@ -176,8 +176,8 @@ void cpnd_client_node_tree_cleanup(CPND_
  void cpnd_client_node_tree_destroy(CPND_CB *cb);
  void cpnd_allrepl_write_evt_node_tree_cleanup(CPND_CB *cb);
  void cpnd_allrepl_write_evt_node_tree_destroy(CPND_CB *cb);
-uint32_t cpnd_sec_hdr_update(CPND_CKPT_SECTION_INFO *pSecPtr, CPND_CKPT_NODE 
*cp_node);
-uint32_t cpnd_ckpt_hdr_update(CPND_CKPT_NODE *cp_node);
+uint32_t cpnd_sec_hdr_update(CPND_CB *cb, CPND_CKPT_SECTION_INFO *pSecPtr, 
CPND_CKPT_NODE *cp_node);
+uint32_t cpnd_ckpt_hdr_update(CPND_CB *cb, CPND_CKPT_NODE *cp_node);
  void cpnd_ckpt_node_destroy(CPND_CB *cb, CPND_CKPT_NODE *cp_node);
  uint32_t cpnd_get_slot_sub_slot_id_from_mds_dest(MDS_DEST dest);
  uint32_t cpnd_get_slot_sub_slot_id_from_node_id(NCS_NODE_ID i_node_id);
diff --git a/osaf/libs/common/cpsv/include/cpnd_sec.h 
b/osaf/libs/common/cpsv/include/cpnd_sec.h
--- a/osaf/libs/common/cpsv/include/cpnd_sec.h
+++ b/osaf/libs/common/cpsv/include/cpnd_sec.h
@@ -39,7 +39,7 @@ CPND_CKPT_SECTION_INFO *
  cpnd_ckpt_sec_get_create(const