From 1351bebe3e71ae2e342c1d09c92b77e3e62206b9 Mon Sep 17 00:00:00 2001 From: Hans Feldt Date: Mon, 11 Sep 2006 07:15:53 +0000 Subject: [PATCH] Fix for global_ckpt_id not synced git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1239 fd59a12c-fef9-0310-b244-a6a79926bd2f --- exec/ckpt.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/exec/ckpt.c b/exec/ckpt.c index d3abd140..8af60dcd 100644 --- a/exec/ckpt.c +++ b/exec/ckpt.c @@ -345,6 +345,7 @@ DECLARE_LIST_INIT(checkpoint_iteration_list_head); DECLARE_LIST_INIT(checkpoint_recovery_list_head); +/* cluster wide synchronized checkpoint ID */ static mar_uint32_t global_ckpt_id = 0; struct checkpoint_cleanup { @@ -2105,6 +2106,11 @@ static int recovery_checkpoint_open ( log_printf (LOG_LEVEL_DEBUG, "recovery CHECKPOINT reopened is %p\n", checkpoint); } + /* synchronize global_ckpt_id to max(ckpt_id,global_ckpt_id)+1 */ + if (ckpt_id > global_ckpt_id) { + global_ckpt_id = ckpt_id + 1; + } + /*CHECK to see if there are any existing ckpts*/ if ((checkpoint->ckpt_refcnt) && (ckpt_refcnt_total(checkpoint->ckpt_refcnt) > 0)) { log_printf (LOG_LEVEL_DEBUG,"calling merge_ckpt_refcnts\n");