mirror of
https://git.proxmox.com/git/mirror_corosync
synced 2025-08-03 23:15:15 +00:00
Save the ring id and restore it properly when the recovery operation fails as
a result of a new gather or token loss. git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2792 fd59a12c-fef9-0310-b244-a6a79926bd2f
This commit is contained in:
parent
46bb0e1cb3
commit
107ef19913
@ -1390,6 +1390,8 @@ static void old_ring_state_save (struct totemsrp_instance *instance)
|
||||
{
|
||||
if (instance->old_ring_state_saved == 0) {
|
||||
instance->old_ring_state_saved = 1;
|
||||
memcpy (&instance->my_old_ring_id, &instance->my_ring_id,
|
||||
sizeof (struct memb_ring_id));
|
||||
instance->old_ring_state_aru = instance->my_aru;
|
||||
instance->old_ring_state_high_seq_received = instance->my_high_seq_received;
|
||||
log_printf (instance->totemsrp_log_level_debug,
|
||||
@ -1401,7 +1403,9 @@ static void old_ring_state_save (struct totemsrp_instance *instance)
|
||||
static void ring_state_restore (struct totemsrp_instance *instance)
|
||||
{
|
||||
if (instance->old_ring_state_saved) {
|
||||
totemip_zero_set(&instance->my_ring_id.rep);
|
||||
memcpy (&instance->my_ring_id, &instance->my_old_ring_id,
|
||||
sizeof (struct memb_ring_id));
|
||||
|
||||
instance->my_aru = instance->old_ring_state_aru;
|
||||
instance->my_high_seq_received = instance->old_ring_state_high_seq_received;
|
||||
log_printf (instance->totemsrp_log_level_debug,
|
||||
@ -1412,6 +1416,8 @@ static void ring_state_restore (struct totemsrp_instance *instance)
|
||||
|
||||
static void old_ring_state_reset (struct totemsrp_instance *instance)
|
||||
{
|
||||
log_printf (instance->totemsrp_log_level_debug,
|
||||
"Resetting old ring state\n");
|
||||
instance->old_ring_state_saved = 0;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user