Re: [devel] [PATCH 3/9] mds: Add implementation for TIPC buffer overflow solution [#1960]

2019-08-22 Thread Minh Hon Chau

Hi Hans,

Thanks for your time to review the patch, please see my replies below 
your comments.


Regards,

Minh

On 22/8/19 11:07 pm, Hans Nordebäck wrote:

Hi Minh,

it is a large patch so i have to review parts of it, below are my
comments, marked with [HansN], for files:

src/mds/Makefile.am
src/mds/mds_dt.h
src/mds/mds_dt_tipc.c

I'll continue with the rest of the files a bit later. /Thanks Hans

On 2019-08-14 08:38, Minh Chau wrote:

This is a collaborative patch of two participants:Thuan, Minh.

Main changes:
- Add mds_tipc_fctrl_intf.h, mds_tipc_fctrl_intf.cc: These two files
introduce new functions which are called in mds_dt_tipc.c if the flow
control is enabled
- Add mds_tipc_fctrl_portid.h, mds_tipc_fctrl_portid.cc: These files
implements the tipc portid instance, which supports the sliding window,
mds msg queue
- Add mds_tipc_fctrl_msg.h, mds_tipc_fctrl_msg.cc: These files define
the event and messages which are used for this solution.
---
   src/mds/Makefile.am  |  10 +-
   src/mds/mds_dt.h |   8 +-
   src/mds/mds_dt_tipc.c| 188 +---
   src/mds/mds_tipc_fctrl_intf.cc   | 376 
+++
   src/mds/mds_tipc_fctrl_intf.h|  47 +
   src/mds/mds_tipc_fctrl_msg.cc| 142 +++
   src/mds/mds_tipc_fctrl_msg.h | 129 ++
   src/mds/mds_tipc_fctrl_portid.cc | 261 +++
   src/mds/mds_tipc_fctrl_portid.h  |  87 +
   9 files changed, 1184 insertions(+), 64 deletions(-)
   create mode 100644 src/mds/mds_tipc_fctrl_intf.cc
   create mode 100644 src/mds/mds_tipc_fctrl_intf.h
   create mode 100644 src/mds/mds_tipc_fctrl_msg.cc
   create mode 100644 src/mds/mds_tipc_fctrl_msg.h
   create mode 100644 src/mds/mds_tipc_fctrl_portid.cc
   create mode 100644 src/mds/mds_tipc_fctrl_portid.h

diff --git a/src/mds/Makefile.am b/src/mds/Makefile.am
index 2d7b652..d849e8f 100644
--- a/src/mds/Makefile.am
+++ b/src/mds/Makefile.am
@@ -48,10 +48,16 @@ lib_libopensaf_core_la_SOURCES += \
   if ENABLE_TIPC_TRANSPORT
   noinst_HEADERS += src/mds/mds_dt_tipc.h \
src/mds/mds_tipc_recvq_stats.h \
-   src/mds/mds_tipc_recvq_stats_impl.h
+   src/mds/mds_tipc_recvq_stats_impl.h \
+   src/mds/mds_tipc_fctrl_intf.h \
+   src/mds/mds_tipc_fctrl_portid.h \
+   src/mds/mds_tipc_fctrl_msg.h
   lib_libopensaf_core_la_SOURCES += src/mds/mds_dt_tipc.c \
src/mds/mds_tipc_recvq_stats.cc \
-   src/mds/mds_tipc_recvq_stats_impl.cc
+   src/mds/mds_tipc_recvq_stats_impl.cc \
+   src/mds/mds_tipc_fctrl_intf.cc \
+   src/mds/mds_tipc_fctrl_portid.cc \
+   src/mds/mds_tipc_fctrl_msg.cc
   endif
   
   if ENABLE_TESTS

diff --git a/src/mds/mds_dt.h b/src/mds/mds_dt.h
index b645bb4..d9e8633 100644
--- a/src/mds/mds_dt.h
+++ b/src/mds/mds_dt.h
@@ -162,7 +162,7 @@ uint32_t mdtm_del_from_ref_tbl(MDS_SUBTN_REF_VAL ref);
   uint32_t mds_tmr_mailbox_processing(void);
   uint32_t mdtm_get_from_ref_tbl(MDS_SUBTN_REF_VAL ref, MDS_SVC_HDL *svc_hdl);
   uint32_t mdtm_add_frag_hdr(uint8_t *buf_ptr, uint16_t len, uint32_t seq_num,
-   uint16_t frag_byte);
+   uint16_t frag_byte, uint16_t fctrl_seq_num);
   uint32_t mdtm_free_reassem_msg_mem(MDS_ENCODED_MSG *msg);
   uint32_t mdtm_process_recv_data(uint8_t *buf, uint16_t len, uint64_t tipc_id,
   uint32_t *buff_dump);
@@ -240,9 +240,13 @@ bool mdtm_mailbox_mbx_cleanup(NCSCONTEXT arg, NCSCONTEXT 
msg);
   
   #define MDS_PROT 0xA0

   #define MDS_VERSION 0x08
-#define MDS_PROT_VER_MASK (MDS_PROT | MDS_VERSION)
+#define MDS_PROT_VER_MASK 0xFC
   #define MDTM_PRI_MASK 0x3
   
+/* MDS protocol/version for flow control */

+#define MDS_PROT_FCTRL (0xB0 | MDS_VERSION)
+#define MDS_PROT_FCTRL_ID 0x00AC13F5
+
   /* Added for the subscription changes */
   #define MDS_NCS_CHASSIS_ID (m_NCS_GET_NODE_ID & 0x00ff)
   #define MDS_TIPC_COMMON_ID 0x01001000
diff --git a/src/mds/mds_dt_tipc.c b/src/mds/mds_dt_tipc.c
index 86b52bb..fef1c50 100644
--- a/src/mds/mds_dt_tipc.c
+++ b/src/mds/mds_dt_tipc.c
@@ -47,6 +47,7 @@
   #include "mds_dt_tipc.h"
   #include "mds_dt_tcp_disc.h"
   #include "mds_core.h"
+#include "mds_tipc_fctrl_intf.h"
   #include "mds_tipc_recvq_stats.h"
   #include "base/osaf_utility.h"
   #include "base/osaf_poll.h"
@@ -165,20 +166,22 @@ NCS_PATRICIA_TREE mdtm_reassembly_list;
   uint32_t mdtm_global_frag_num;
   
   const unsigned int MAX_RECV_THRESHOLD = 30;

+uint8_t gl_mds_pro_ver = MDS_PROT | MDS_VERSION;
   
-static bool get_tipc_port_id(int sock, uint32_t* port_id) {

+static bool get_tipc_port_id(int sock, struct tipc_portid* port_id) {
struct sockaddr_tipc addr;
socklen_t sz = sizeof(addr);
   
   	memset(, 0, sizeof(addr));

-   *port_id = 0;
+   port_id->node = 0;
+   port_id->ref = 0;
if (0 > getsockname(sock, (struct sockaddr *), )) {
syslog(LOG_ERR, "MDTM:TIPC 

Re: [devel] [PATCH 1/1] smf: Fix c-linkage errors [#3065]

2019-08-22 Thread Thanh Nguyen
Hi Vu,

I have changed the patch according to the comments.
I will push the patch after testing.
Best Regards,
Thanh

-Original Message-
From: Nguyen Minh Vu [mailto:vu.m.ngu...@dektech.com.au] 
Sent: Thursday, 22 August 2019 9:06 PM
To: Thanh Nguyen; gary@dektech.com.au; thang.d.ngu...@dektech.com.au; 
minh.c...@dektech.com.au
Cc: opensaf-devel@lists.sourceforge.net
Subject: Re: [PATCH 1/1] smf: Fix c-linkage errors [#3065]

+ Add Lennart to reviewers list

Those methods that are wrapped inside 'extern "C"' 
(/smf/smfd/SmfUtils.h) seem to be called from C++ source files only.

So, perhaps the simple fix for that is moving them out of 'extern "C"'.

Regards, Vu

On 8/20/19 8:12 AM, Thanh Nguyen wrote:
> Faults in C linkage for PBE area is fixed.
> ---
>   src/smf/smfd/SmfUpgradeCampaign.cc |  3 ++-
>   src/smf/smfd/SmfUtils.cc   | 14 ++
>   src/smf/smfd/SmfUtils.h| 10 --
>   3 files changed, 24 insertions(+), 3 deletions(-)
>
> diff --git a/src/smf/smfd/SmfUpgradeCampaign.cc 
> b/src/smf/smfd/SmfUpgradeCampaign.cc
> index 3c50bf7..4a1591a 100644
> --- a/src/smf/smfd/SmfUpgradeCampaign.cc
> +++ b/src/smf/smfd/SmfUpgradeCampaign.cc
> @@ -930,7 +930,8 @@ void SmfUpgradeCampaign::continueExec() {
>   if (o_result == true) {
> LOG_NO("The campaign have been restarted to many times");
> int cnt = smfd_cb->smfCampMaxRestart;
> -  std::string error = "To many campaign restarts, max " + cnt;
> +  std::string error = "To many campaign restarts, max "
> +  + std::to_string(cnt);
> SmfCampaignThread::instance()->campaign()->setError(error);
> changeState(SmfCampStateExecFailed::instance());
> TRACE_LEAVE();
> diff --git a/src/smf/smfd/SmfUtils.cc b/src/smf/smfd/SmfUtils.cc
> index 882a3e6..0abb4b1 100644
> --- a/src/smf/smfd/SmfUtils.cc
> +++ b/src/smf/smfd/SmfUtils.cc
> @@ -1091,6 +1091,13 @@ std::string smf_valueToString(SaImmAttrValueT value, 
> SaImmValueTypeT type) {
> return ost.str();
>   }
>   
> +char* smf_valueToString(char* buffer, SaImmAttrValueT value,
> +SaImmValueTypeT type) {
> +  std::string tmp = smf_valueToString(value, type);
> +  memcpy(buffer, tmp.c_str(), tmp.length());
> +  return buffer;
> +}
> +
>   // 
> --
>   // smf_opStringToInt()
>   // 
> --
> @@ -1342,6 +1349,13 @@ const std::string smfStateToString(const uint32_t 
> _stateId,
> }
>   }
>   
> +char* smfStateToString(char* buffer, const uint32_t _stateId,
> +   const uint32_t _state) {
> +  std::string tmp = smfStateToString(i_stateId, i_state);
> +  memcpy(buffer, tmp.c_str(), tmp.length());
> +  return buffer;
> +}
> +
>   bool compare_du_part(unitNameAndState , unitNameAndState ) {
> unsigned int i = 0;
> while ((i < first.name.length()) && (i < second.name.length())) {
> diff --git a/src/smf/smfd/SmfUtils.h b/src/smf/smfd/SmfUtils.h
> index 894e3c9..394c000 100644
> --- a/src/smf/smfd/SmfUtils.h
> +++ b/src/smf/smfd/SmfUtils.h
> @@ -42,6 +42,12 @@
>   class SmfImmOperation;
>   class SmfRollbackCcb;
>   
> +extern std::string smf_valueToString(SaImmAttrValueT value,
> + SaImmValueTypeT type);
> +extern const std::string smfStateToString(const uint32_t& i_stateId,
> +  const uint32_t& i_state);
> +
> +
>   /* 
>*   TYPE DEFINITIONS
>* 
> @@ -62,14 +68,14 @@ extern bool smf_stringsToValues(SaImmAttrValuesT_2* 
> i_attribute,
>   std::list& i_values);
>   extern bool smf_stringToValue(SaImmValueTypeT i_type, SaImmAttrValueT* 
> i_value,
> const char* i_str);
> -extern std::string smf_valueToString(SaImmAttrValueT value,
> +extern char* smf_valueToString(char* buffer, SaImmAttrValueT value,
>SaImmValueTypeT type);
>   extern int smf_opStringToInt(const char* i_str);
>   extern int smf_system(std::string i_cmd);
>   extern void updateSaflog(const std::string& i_dn, const uint32_t& i_stateId,
>const uint32_t& i_newState,
>const uint32_t& i_oldState);
> -extern const std::string smfStateToString(const uint32_t& i_stateId,
> +extern char* smfStateToString(char* buffer, const uint32_t& i_stateId,
> const uint32_t& i_state);
>   extern bool compare_du_part(unitNameAndState& first, unitNameAndState& 
> second);
>   extern bool unique_du_part(unitNameAndState& first, unitNameAndState& 
> second);




___
Opensaf-devel mailing list
Opensaf-devel@lists.sourceforge.net

Re: [devel] [PATCH 3/9] mds: Add implementation for TIPC buffer overflow solution [#1960]

2019-08-22 Thread Hans Nordebäck
Hi Minh,

it is a large patch so i have to review parts of it, below are my 
comments, marked with [HansN], for files:

src/mds/Makefile.am
src/mds/mds_dt.h
src/mds/mds_dt_tipc.c

I'll continue with the rest of the files a bit later. /Thanks Hans

On 2019-08-14 08:38, Minh Chau wrote:
> This is a collaborative patch of two participants:Thuan, Minh.
>
> Main changes:
> - Add mds_tipc_fctrl_intf.h, mds_tipc_fctrl_intf.cc: These two files
> introduce new functions which are called in mds_dt_tipc.c if the flow
> control is enabled
> - Add mds_tipc_fctrl_portid.h, mds_tipc_fctrl_portid.cc: These files
> implements the tipc portid instance, which supports the sliding window,
> mds msg queue
> - Add mds_tipc_fctrl_msg.h, mds_tipc_fctrl_msg.cc: These files define
> the event and messages which are used for this solution.
> ---
>   src/mds/Makefile.am  |  10 +-
>   src/mds/mds_dt.h |   8 +-
>   src/mds/mds_dt_tipc.c| 188 +---
>   src/mds/mds_tipc_fctrl_intf.cc   | 376 
> +++
>   src/mds/mds_tipc_fctrl_intf.h|  47 +
>   src/mds/mds_tipc_fctrl_msg.cc| 142 +++
>   src/mds/mds_tipc_fctrl_msg.h | 129 ++
>   src/mds/mds_tipc_fctrl_portid.cc | 261 +++
>   src/mds/mds_tipc_fctrl_portid.h  |  87 +
>   9 files changed, 1184 insertions(+), 64 deletions(-)
>   create mode 100644 src/mds/mds_tipc_fctrl_intf.cc
>   create mode 100644 src/mds/mds_tipc_fctrl_intf.h
>   create mode 100644 src/mds/mds_tipc_fctrl_msg.cc
>   create mode 100644 src/mds/mds_tipc_fctrl_msg.h
>   create mode 100644 src/mds/mds_tipc_fctrl_portid.cc
>   create mode 100644 src/mds/mds_tipc_fctrl_portid.h
>
> diff --git a/src/mds/Makefile.am b/src/mds/Makefile.am
> index 2d7b652..d849e8f 100644
> --- a/src/mds/Makefile.am
> +++ b/src/mds/Makefile.am
> @@ -48,10 +48,16 @@ lib_libopensaf_core_la_SOURCES += \
>   if ENABLE_TIPC_TRANSPORT
>   noinst_HEADERS += src/mds/mds_dt_tipc.h \
>   src/mds/mds_tipc_recvq_stats.h \
> - src/mds/mds_tipc_recvq_stats_impl.h
> + src/mds/mds_tipc_recvq_stats_impl.h \
> + src/mds/mds_tipc_fctrl_intf.h \
> + src/mds/mds_tipc_fctrl_portid.h \
> + src/mds/mds_tipc_fctrl_msg.h
>   lib_libopensaf_core_la_SOURCES += src/mds/mds_dt_tipc.c \
>   src/mds/mds_tipc_recvq_stats.cc \
> - src/mds/mds_tipc_recvq_stats_impl.cc
> + src/mds/mds_tipc_recvq_stats_impl.cc \
> + src/mds/mds_tipc_fctrl_intf.cc \
> + src/mds/mds_tipc_fctrl_portid.cc \
> + src/mds/mds_tipc_fctrl_msg.cc
>   endif
>   
>   if ENABLE_TESTS
> diff --git a/src/mds/mds_dt.h b/src/mds/mds_dt.h
> index b645bb4..d9e8633 100644
> --- a/src/mds/mds_dt.h
> +++ b/src/mds/mds_dt.h
> @@ -162,7 +162,7 @@ uint32_t mdtm_del_from_ref_tbl(MDS_SUBTN_REF_VAL ref);
>   uint32_t mds_tmr_mailbox_processing(void);
>   uint32_t mdtm_get_from_ref_tbl(MDS_SUBTN_REF_VAL ref, MDS_SVC_HDL *svc_hdl);
>   uint32_t mdtm_add_frag_hdr(uint8_t *buf_ptr, uint16_t len, uint32_t seq_num,
> -   uint16_t frag_byte);
> +   uint16_t frag_byte, uint16_t fctrl_seq_num);
>   uint32_t mdtm_free_reassem_msg_mem(MDS_ENCODED_MSG *msg);
>   uint32_t mdtm_process_recv_data(uint8_t *buf, uint16_t len, uint64_t 
> tipc_id,
>   uint32_t *buff_dump);
> @@ -240,9 +240,13 @@ bool mdtm_mailbox_mbx_cleanup(NCSCONTEXT arg, NCSCONTEXT 
> msg);
>   
>   #define MDS_PROT 0xA0
>   #define MDS_VERSION 0x08
> -#define MDS_PROT_VER_MASK (MDS_PROT | MDS_VERSION)
> +#define MDS_PROT_VER_MASK 0xFC
>   #define MDTM_PRI_MASK 0x3
>   
> +/* MDS protocol/version for flow control */
> +#define MDS_PROT_FCTRL (0xB0 | MDS_VERSION)
> +#define MDS_PROT_FCTRL_ID 0x00AC13F5
> +
>   /* Added for the subscription changes */
>   #define MDS_NCS_CHASSIS_ID (m_NCS_GET_NODE_ID & 0x00ff)
>   #define MDS_TIPC_COMMON_ID 0x01001000
> diff --git a/src/mds/mds_dt_tipc.c b/src/mds/mds_dt_tipc.c
> index 86b52bb..fef1c50 100644
> --- a/src/mds/mds_dt_tipc.c
> +++ b/src/mds/mds_dt_tipc.c
> @@ -47,6 +47,7 @@
>   #include "mds_dt_tipc.h"
>   #include "mds_dt_tcp_disc.h"
>   #include "mds_core.h"
> +#include "mds_tipc_fctrl_intf.h"
>   #include "mds_tipc_recvq_stats.h"
>   #include "base/osaf_utility.h"
>   #include "base/osaf_poll.h"
> @@ -165,20 +166,22 @@ NCS_PATRICIA_TREE mdtm_reassembly_list;
>   uint32_t mdtm_global_frag_num;
>   
>   const unsigned int MAX_RECV_THRESHOLD = 30;
> +uint8_t gl_mds_pro_ver = MDS_PROT | MDS_VERSION;
>   
> -static bool get_tipc_port_id(int sock, uint32_t* port_id) {
> +static bool get_tipc_port_id(int sock, struct tipc_portid* port_id) {
>   struct sockaddr_tipc addr;
>   socklen_t sz = sizeof(addr);
>   
>   memset(, 0, sizeof(addr));
> - *port_id = 0;
> + port_id->node = 0;
> + port_id->ref = 0;
>   if (0 > getsockname(sock, (struct sockaddr *), )) {
>   syslog(LOG_ERR, "MDTM:TIPC Failed to get socket 

Re: [devel] [PATCH 1/1] smf: Fix c-linkage errors [#3065]

2019-08-22 Thread Nguyen Minh Vu

+ Add Lennart to reviewers list

Those methods that are wrapped inside 'extern "C"' 
(/smf/smfd/SmfUtils.h) seem to be called from C++ source files only.


So, perhaps the simple fix for that is moving them out of 'extern "C"'.

Regards, Vu

On 8/20/19 8:12 AM, Thanh Nguyen wrote:

Faults in C linkage for PBE area is fixed.
---
  src/smf/smfd/SmfUpgradeCampaign.cc |  3 ++-
  src/smf/smfd/SmfUtils.cc   | 14 ++
  src/smf/smfd/SmfUtils.h| 10 --
  3 files changed, 24 insertions(+), 3 deletions(-)

diff --git a/src/smf/smfd/SmfUpgradeCampaign.cc 
b/src/smf/smfd/SmfUpgradeCampaign.cc
index 3c50bf7..4a1591a 100644
--- a/src/smf/smfd/SmfUpgradeCampaign.cc
+++ b/src/smf/smfd/SmfUpgradeCampaign.cc
@@ -930,7 +930,8 @@ void SmfUpgradeCampaign::continueExec() {
  if (o_result == true) {
LOG_NO("The campaign have been restarted to many times");
int cnt = smfd_cb->smfCampMaxRestart;
-  std::string error = "To many campaign restarts, max " + cnt;
+  std::string error = "To many campaign restarts, max "
+  + std::to_string(cnt);
SmfCampaignThread::instance()->campaign()->setError(error);
changeState(SmfCampStateExecFailed::instance());
TRACE_LEAVE();
diff --git a/src/smf/smfd/SmfUtils.cc b/src/smf/smfd/SmfUtils.cc
index 882a3e6..0abb4b1 100644
--- a/src/smf/smfd/SmfUtils.cc
+++ b/src/smf/smfd/SmfUtils.cc
@@ -1091,6 +1091,13 @@ std::string smf_valueToString(SaImmAttrValueT value, 
SaImmValueTypeT type) {
return ost.str();
  }
  
+char* smf_valueToString(char* buffer, SaImmAttrValueT value,

+SaImmValueTypeT type) {
+  std::string tmp = smf_valueToString(value, type);
+  memcpy(buffer, tmp.c_str(), tmp.length());
+  return buffer;
+}
+
  // 
--
  // smf_opStringToInt()
  // 
--
@@ -1342,6 +1349,13 @@ const std::string smfStateToString(const uint32_t 
_stateId,
}
  }
  
+char* smfStateToString(char* buffer, const uint32_t _stateId,

+   const uint32_t _state) {
+  std::string tmp = smfStateToString(i_stateId, i_state);
+  memcpy(buffer, tmp.c_str(), tmp.length());
+  return buffer;
+}
+
  bool compare_du_part(unitNameAndState , unitNameAndState ) {
unsigned int i = 0;
while ((i < first.name.length()) && (i < second.name.length())) {
diff --git a/src/smf/smfd/SmfUtils.h b/src/smf/smfd/SmfUtils.h
index 894e3c9..394c000 100644
--- a/src/smf/smfd/SmfUtils.h
+++ b/src/smf/smfd/SmfUtils.h
@@ -42,6 +42,12 @@
  class SmfImmOperation;
  class SmfRollbackCcb;
  
+extern std::string smf_valueToString(SaImmAttrValueT value,

+ SaImmValueTypeT type);
+extern const std::string smfStateToString(const uint32_t& i_stateId,
+  const uint32_t& i_state);
+
+
  /* 
   *   TYPE DEFINITIONS
   * 
@@ -62,14 +68,14 @@ extern bool smf_stringsToValues(SaImmAttrValuesT_2* 
i_attribute,
  std::list& i_values);
  extern bool smf_stringToValue(SaImmValueTypeT i_type, SaImmAttrValueT* 
i_value,
const char* i_str);
-extern std::string smf_valueToString(SaImmAttrValueT value,
+extern char* smf_valueToString(char* buffer, SaImmAttrValueT value,
   SaImmValueTypeT type);
  extern int smf_opStringToInt(const char* i_str);
  extern int smf_system(std::string i_cmd);
  extern void updateSaflog(const std::string& i_dn, const uint32_t& i_stateId,
   const uint32_t& i_newState,
   const uint32_t& i_oldState);
-extern const std::string smfStateToString(const uint32_t& i_stateId,
+extern char* smfStateToString(char* buffer, const uint32_t& i_stateId,
const uint32_t& i_state);
  extern bool compare_du_part(unitNameAndState& first, unitNameAndState& 
second);
  extern bool unique_du_part(unitNameAndState& first, unitNameAndState& second);




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


[devel] [PATCH 0/1] Review Request for util: Fenced should only write a log record when two acitve controllers is seen [#3073]

2019-08-22 Thread Hans Nordebäck
Summary: util: Fenced should only write a log record when two acitve 
controllers is seen [#3073]
Review request for Ticket(s): 3073
Peer Reviewer(s): Gary, Duc
Pull request to: 
Affected branch(es): develop
Development branch: ticket-3073
Base revision: 729f71fbfff0eea6d4a6a394780142b87a9fb472
Personal repository: git://git.code.sf.net/u/hansnordeback/review


Impacted area   Impact y/n

 Docsn
 Build systemn
 RPM/packaging   n
 Configuration files n
 Startup scripts n
 SAF servicesn
 OpenSAF servicesn
 Core libraries  n
 Samples n
 Tests   n
 Other   y


Comments (indicate scope for each "y" above):
-
*** EXPLAIN/COMMENT THE PATCH SERIES HERE ***

revision 81ec4d662ecdcf6b147e2376697ff423625463d4
Author: Hans Nordeback 
Date:   Thu, 22 Aug 2019 09:14:12 +0200

util: Fenced should only write a log record when two acitve controllers is seen 
[#3073]



Complete diffstat:
--
 tools/devel/fenced/node_state_hdlr_pl.cc | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)


Testing Commands:
-
*** LIST THE COMMAND LINE TOOLS/STEPS TO TEST YOUR CHANGES ***


Testing, Expected Results:
--
*** PASTE COMMAND OUTPUTS / TEST RESULTS ***


Conditions of Submission:
-
*** HOW MANY DAYS BEFORE PUSHING, CONSENSUS ETC ***


Arch  Built StartedLinux distro
---
mipsn  n
mips64  n  n
x86 n  n
x86_64  y  n
powerpc n  n
powerpc64   n  n


Reviewer Checklist:
---
[Submitters: make sure that your review doesn't trigger any checkmarks!]


Your checkin has not passed review because (see checked entries):

___ Your RR template is generally incomplete; it has too many blank entries
that need proper data filled in.

___ You have failed to nominate the proper persons for review and push.

___ Your patches do not have proper short+long header

___ You have grammar/spelling in your header that is unacceptable.

___ You have exceeded a sensible line length in your headers/comments/text.

___ You have failed to put in a proper Trac Ticket # into your commits.

___ You have incorrectly put/left internal data in your comments/files
(i.e. internal bug tracking tool IDs, product names etc)

___ You have not given any evidence of testing beyond basic build tests.
Demonstrate some level of runtime or other sanity testing.

___ You have ^M present in some of your files. These have to be removed.

___ You have needlessly changed whitespace or added whitespace crimes
like trailing spaces, or spaces before tabs.

___ You have mixed real technical changes with whitespace and other
cosmetic code cleanup changes. These have to be separate commits.

___ You need to refactor your submission into logical chunks; there is
too much content into a single commit.

___ You have extraneous garbage in your review (merge commits etc)

___ You have giant attachments which should never have been sent;
Instead you should place your content in a public tree to be pulled.

___ You have too many commits attached to an e-mail; resend as threaded
commits, or place in a public tree for a pull.

___ You have resent this content multiple times without a clear indication
of what has changed between each re-send.

___ You have failed to adequately and individually address all of the
comments and change requests that were proposed in the initial review.

___ You have a misconfigured ~/.gitconfig file (i.e. user.name, user.email etc)

___ Your computer have a badly configured date and time; confusing the
the threaded patch review.

___ Your changes affect IPC mechanism, and you don't present any results
for in-service upgradability test.

___ Your changes affect user manual and documentation, your patch series
do not contain the patch that updates the Doxygen manual.



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


[devel] [PATCH 1/1] util: Fenced should only write a log record when two acitve controllers is seen [#3073]

2019-08-22 Thread Hans Nordebäck
---
 tools/devel/fenced/node_state_hdlr_pl.cc | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/tools/devel/fenced/node_state_hdlr_pl.cc 
b/tools/devel/fenced/node_state_hdlr_pl.cc
index c74fe72b9..6bf032e5a 100644
--- a/tools/devel/fenced/node_state_hdlr_pl.cc
+++ b/tools/devel/fenced/node_state_hdlr_pl.cc
@@ -169,8 +169,8 @@ void NodeStateHdlrPl::check_isolation() {
   isolated_ = NodeIsolationState::kNotIsolated;
   syslog(LOG_NOTICE, "one active controller detected");
 } else {
-  isolated_ = NodeIsolationState::kIsolated;
-  syslog(LOG_NOTICE, "%d active controllers detected, split brain", 
no_of_active);
+  isolated_ = NodeIsolationState::kNotIsolated;
+  syslog(LOG_NOTICE, "%d active controllers detected", no_of_active);
 }
   }
 notify:
-- 
2.17.1



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


Re: [devel] [PATCH 1/1] util: Fenced should only write a log record when two acitve controllers is seen [#3073]

2019-08-22 Thread Gary Lee

Hi Hans

ack (review only)

Thanks

Gary

On 22/8/19 5:49 pm, Hans Nordebäck wrote:

---
  tools/devel/fenced/node_state_hdlr_pl.cc | 4 ++--
  1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/tools/devel/fenced/node_state_hdlr_pl.cc 
b/tools/devel/fenced/node_state_hdlr_pl.cc
index c74fe72b9..6bf032e5a 100644
--- a/tools/devel/fenced/node_state_hdlr_pl.cc
+++ b/tools/devel/fenced/node_state_hdlr_pl.cc
@@ -169,8 +169,8 @@ void NodeStateHdlrPl::check_isolation() {
isolated_ = NodeIsolationState::kNotIsolated;
syslog(LOG_NOTICE, "one active controller detected");
  } else {
-  isolated_ = NodeIsolationState::kIsolated;
-  syslog(LOG_NOTICE, "%d active controllers detected, split brain", 
no_of_active);
+  isolated_ = NodeIsolationState::kNotIsolated;
+  syslog(LOG_NOTICE, "%d active controllers detected", no_of_active);
  }
}
  notify:



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