Fix for global_ckpt_id not synced

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1239 fd59a12c-fef9-0310-b244-a6a79926bd2f
This commit is contained in:
Hans Feldt 2006-09-11 07:15:53 +00:00
parent bfa9d1f9f0
commit 1351bebe3e

View File

@ -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");