.hgtags                                 |   1 +
 README                                  |  10 +++++-----
 configure.ac                            |   2 +-
 osaf/services/saf/clmsv/clms/clms_cb.h  |   2 +-
 osaf/services/saf/clmsv/clms/clms_evt.c |   6 +++---
 osaf/services/saf/clmsv/clms/clms_imm.c |  10 +++++-----
 6 files changed, 16 insertions(+), 15 deletions(-)


The processing of CLM node lockcallbacktimeout performs the lookup using 
node_id, but the node_id
is not a part of the db because the node had just become a non-member(after 
lock command was issued).
This leads to a failure of the node_id based lookup.
This patch looksup using node_name during the processing of lockcallbacktimeout

diff --git a/.hgtags b/.hgtags
--- a/.hgtags
+++ b/.hgtags
@@ -55,3 +55,4 @@ 58d2d3bded66a15f78c0277cee941c6e4b7ebb6b
 b08645994edafca9c5fdf416b69dcb27923a9030 4.2.2
 117c6f548aa4adaeab7abb3bc1ad06b1013e6421 4.2.3RC1
 f565bbcd20c869ed06ca909fd056548a790fae3b 4.2.3
+72161230a6dc5cb412995011880eec69fe8e9c67 4.2.4RC1
diff --git a/README b/README
--- a/README
+++ b/README
@@ -764,15 +764,15 @@ Upgrading OpenSAF from
 - 4.2.0 to 4.2.1 is not possible because of a bug(Refer ticket #2720)
 that got introduced in 4.2.1.
 
-- 4.2.0 to 4.2.3 is supported by default.
+- 4.2.0 to 4.2.x (x >= 2) is supported by default.
 
-- 4.2.1 to 4.2.3 is possible by building 4.2.3 with the following
+- 4.2.1 to 4.2.x (x >= 2) is possible by building 4.2.x with the following
 configure options:
 ./configure CFLAGS="-DUPGRADE_FROM_4_2_1"
- However, upon building 4.2.3 with this build option, an upgrade from
- 4.2.0 to 4.2.3 is not possible.
+ However, upon building 4.2.x with this build option, an upgrade from
+ 4.2.0 to 4.2.x is not possible.
 
-- 4.2.2 to 4.2.3 is supported by default.
+- 4.2.2 to 4.2.x (x >= 3) is supported by default.
 
 
 Linux Distro-Specific Notes
diff --git a/configure.ac b/configure.ac
--- a/configure.ac
+++ b/configure.ac
@@ -15,7 +15,7 @@
 #
 
 AC_PREREQ([2.61])
-AC_INIT([opensaf], [4.2.3], [[email protected]])
+AC_INIT([opensaf], [4.2.4RC1], [[email protected]])
 AC_CONFIG_AUX_DIR([.])
 AC_CANONICAL_SYSTEM
 AC_CONFIG_SRCDIR([INSTALL])
diff --git a/osaf/services/saf/clmsv/clms/clms_cb.h 
b/osaf/services/saf/clmsv/clms/clms_cb.h
--- a/osaf/services/saf/clmsv/clms/clms_cb.h
+++ b/osaf/services/saf/clmsv/clms/clms_cb.h
@@ -181,7 +181,7 @@ typedef struct clms_cb_t {
 } CLMS_CB;
 
 typedef struct clms_lock_tmr_t {
-       SaClmNodeIdT node_id;
+       SaNameT node_name;
 } CLMS_LOCK_TMR;
 
 uint32_t clm_snd_track_changes(CLMS_CB * cb, CLMS_CLUSTER_NODE * node, 
CLMS_CLIENT_INFO * client,
diff --git a/osaf/services/saf/clmsv/clms/clms_evt.c 
b/osaf/services/saf/clmsv/clms/clms_evt.c
--- a/osaf/services/saf/clmsv/clms/clms_evt.c
+++ b/osaf/services/saf/clmsv/clms/clms_evt.c
@@ -380,13 +380,13 @@ uint32_t proc_node_up_msg(CLMS_CB * cb, 
 static uint32_t proc_node_lock_tmr_exp_msg(CLMSV_CLMS_EVT * evt)
 {
        uint32_t rc = NCSCC_RC_SUCCESS;
-       SaClmNodeIdT node_id;
+       SaNameT node_name = { 0 };
        CLMS_CLUSTER_NODE *op_node = NULL;
 
        TRACE_ENTER();
        /*Get the node details */
-       node_id = evt->info.tmr_info.node_id;
-       op_node = clms_node_get_by_id(node_id);
+       node_name = evt->info.tmr_info.node_name;
+       op_node = clms_node_get_by_name(&node_name);
        osafassert(op_node != NULL);
 
        rc = clms_node_trackresplist_empty(op_node);
diff --git a/osaf/services/saf/clmsv/clms/clms_imm.c 
b/osaf/services/saf/clmsv/clms/clms_imm.c
--- a/osaf/services/saf/clmsv/clms/clms_imm.c
+++ b/osaf/services/saf/clmsv/clms/clms_imm.c
@@ -27,7 +27,7 @@ uint32_t clms_imm_node_unlock(CLMS_CLUST
 uint32_t clms_imm_node_lock(CLMS_CLUSTER_NODE * nodeop);
 uint32_t clms_imm_node_shutdown(CLMS_CLUSTER_NODE * nodeop);
 static void clms_lock_send_start_cbk(CLMS_CLUSTER_NODE * nodeop);
-static void clms_timer_ipc_send(SaClmNodeIdT node_id);
+static void clms_timer_ipc_send(SaNameT node_name);
 static uint32_t clms_lock_send_no_start_cbk(CLMS_CLUSTER_NODE * nodeop);
 
 static SaVersionT immVersion = { 'A', 2, 1 };
@@ -1642,7 +1642,7 @@ void clms_lock_timer_exp(int signo, sigi
 
        TRACE("node on which lock was performed %s", node->node_name.value);
 
-       clms_timer_ipc_send(node->node_id);
+       clms_timer_ipc_send(node->node_name);
 
        /*m_NCS_UNLOCK(&clms_cb->lock, NCS_LOCK_WRITE); */
 
@@ -1654,7 +1654,7 @@ void clms_lock_timer_exp(int signo, sigi
 * Send the timer expiry event to the mailbox
 * @param[in] node_id  timer expired for admin operation on  node_id 
 */
-static void clms_timer_ipc_send(SaClmNodeIdT node_id)
+static void clms_timer_ipc_send(SaNameT node_name)
 {
        CLMSV_CLMS_EVT *clmsv_evt;
        uint32_t rc = NCSCC_RC_SUCCESS;
@@ -1668,9 +1668,9 @@ static void clms_timer_ipc_send(SaClmNod
 
        memset(clmsv_evt, 0, sizeof(CLMSV_CLMS_EVT));
        clmsv_evt->type = CLMSV_CLMS_NODE_LOCK_TMR_EXP;
-       clmsv_evt->info.tmr_info.node_id = node_id;
+       clmsv_evt->info.tmr_info.node_name = node_name;
 
-       TRACE("clmsv_evt.type %d,node_id %d", clmsv_evt->type, 
clmsv_evt->info.tmr_info.node_id);
+       TRACE("clmsv_evt.type %d,node_name %s", clmsv_evt->type, 
clmsv_evt->info.tmr_info.node_name.value);
 
        rc = m_NCS_IPC_SEND(&clms_cb->mbx, clmsv_evt, 
MDS_SEND_PRIORITY_VERY_HIGH);
        if (rc != NCSCC_RC_SUCCESS) {

------------------------------------------------------------------------------
Get your SQL database under version control now!
Version control is standard for application code, but databases havent 
caught up. So what steps can you take to put your SQL databases under 
version control? Why should you start doing it? Read more to find out.
http://pubads.g.doubleclick.net/gampad/clk?id=49501711&iu=/4140/ostg.clktrk
_______________________________________________
Opensaf-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to