Backport of Corosync b8a061ae28e7c874b66fa1d35ab01f53d1d36b42

Fixes a problem where there are gaps in the recovery queue.  Example my_aru = 5,
but there are messages at 7,8.  8 = my_high_seq_received which results
in data slots taken up in new message queue.  What should really happen
is these last messages should be delivered after a transitional
configuration to maintain SAFE agreement.  We don't have support for
SAFE atm, so it is probably safe just to throw these messages away.  Without
this change, the new message queue on a new configuraton change is out of sync.

Signed-off-by: Jan Friesse <[email protected]>
---
 branches/whitetank/exec/totemsrp.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/branches/whitetank/exec/totemsrp.c 
b/branches/whitetank/exec/totemsrp.c
index 279dfb2..16e1cd3 100644
--- a/branches/whitetank/exec/totemsrp.c
+++ b/branches/whitetank/exec/totemsrp.c
@@ -1704,7 +1704,7 @@ static void memb_state_operational_enter (struct 
totemsrp_instance *instance)
                sizeof (struct srp_addr) * instance->my_memb_entries);
 
        instance->my_failed_list_entries = 0;
-       instance->my_high_delivered = instance->my_aru;
+       instance->my_high_delivered = instance->my_high_seq_received;
 
        for (i = 0; i <= instance->my_high_delivered; i++) {
                void *ptr;
-- 
1.7.4.1

_______________________________________________
Openais mailing list
[email protected]
https://lists.linux-foundation.org/mailman/listinfo/openais

Reply via email to