Hi Alex, Ack, Code review only.
Thank you Srinivas -----Original Message----- From: Alex Jones [mailto:[email protected]] Sent: Thursday, November 30, 2017 1:14 AM To: Srinivas Mangipudy <[email protected]> Cc: [email protected]; Alex Jones <[email protected]> Subject: [PATCH 1/1] msgd: fix double delete of node info [#2712] msgd can crash if multiple nodes in the cluster are rebooted at the same time. "is_node_down" and "is_clm_down" can both be set to true, if the CLM tracking callback comes in quickly. If this occurs during middleware failover, the cleanup code in msgd can cause a crash because it tries to delete the same node twice. Don't delete the same node twice. --- src/msg/msgd/mqd_saf.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/msg/msgd/mqd_saf.c b/src/msg/msgd/mqd_saf.c index 10ac817..28a8338 100644 --- a/src/msg/msgd/mqd_saf.c +++ b/src/msg/msgd/mqd_saf.c @@ -268,12 +268,12 @@ void mqd_saf_csi_set_cb(SaInvocationT invocation, const SaNameT *compName, } } } - if (pNdNode->info.is_node_down == true) { + + if (pNdNode->info.is_node_down == true) mqd_tmr_stop(&pNdNode->info.timer); - mqd_del_node_down_info(pMqd, nodeid); - mqd_red_db_node_del(pMqd, pNdNode); - } - if (pNdNode->info.is_clm_down == true) { + + if (pNdNode->info.is_clm_down || + pNdNode->info.is_node_down) { mqd_red_db_node_del(pMqd, pNdNode); mqd_del_node_down_info(pMqd, nodeid); } -- 2.9.5 ------------------------------------------------------------------------------ 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 [email protected] https://lists.sourceforge.net/lists/listinfo/opensaf-devel
