Re: [devel] [PATCH 3/9] mds: Add implementation for TIPC buffer overflow solution [#1960]
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]
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]
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]
+ 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]
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]
--- 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]
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