CVSROOT: /cvs/cluster Module name: cluster Branch: RHEL4 Changes by: [EMAIL PROTECTED] 2007-11-01 10:44:25
Modified files: cman-kernel/src: cnxman.c Log message: When checking for old messages, compare against the last ACKed message rather than the last seen message (which could be a NOACK message). otherwise we end up throwing awa messages if they arrive out of order. bz#299061 Patches: http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/cman-kernel/src/cnxman.c.diff?cvsroot=cluster&only_with_tag=RHEL4&r1=1.42.2.29&r2=1.42.2.30 --- cluster/cman-kernel/src/Attic/cnxman.c 2007/03/30 07:50:49 1.42.2.29 +++ cluster/cman-kernel/src/Attic/cnxman.c 2007/11/01 10:44:25 1.42.2.30 @@ -868,7 +868,7 @@ * resend for someone else's benefit */ if (!(flags & MSG_NOACK) && rem_node && rem_node->last_seq_recv && - (short)((short)le16_to_cpu(header->seq) - (short)rem_node->last_seq_recv) <= 0) { + (short)((short)le16_to_cpu(header->seq) - (short)rem_node->last_ackneeded_seq_recv) <= 0) { P_COMMS("Discarding message - seq = %d, last_seen = %d\n", header->seq, rem_node->last_seq_recv); /* Still need to ACK it though, in case it was the ACK that got @@ -3284,7 +3284,7 @@ { struct cl_barrier *barrier = (struct cl_barrier *) arg; - /* Ignore any futher messages, they are too late. */ + /* Ignore any further messages, they are too late. */ barrier->phase = 0; /* and cause it to timeout */