On 11/14/2013 02:22 AM, Christine Caulfield wrote:
On 14/11/13 05:01, John Thompson wrote:
Hi,
I am using corosync in a cluster that includes both big and little
endian systems and am coming
across crashes when there are retransmits in the cluster.
I wondered therefore if others had tried this previously?
As part of this I have identified that totempg_deliver_fn modifies the
mcast msg in place to
convert for endian purposes, even though it might still be on a sort
queue and used for retransmission.
This means that if there are different endian systems operating and a
retransmission of the msg
is performed, it will have been endian converted in-place and so what
the node receives is a message that has some endian converted fields.
I will submit a patch for this.
Endian conversion happens on receipt of the message and is based upon a
field in the message indicating which endian the message was originated
with. If a message is changed in a retransmit queue, I would expect
it's endian field is also modified, resulting in newly transmitted
messages being correctly decoded by the receivers.
When totem was originally written in Corosync, we had ppc, arm, and
x86_64 as all major platforms for Corosync. But corosync hasn't been
tried in years on these platforms. It did work grand at one point ;)
Most of the world has moved to x86_64 so the need hasn't presented
itself to focus on this area of the code base lately.
I suspect it hasn't been tried for a very long time! if you have a
patch that fixes the bug it will be gratefully received :-)
Chrissie
_______________________________________________
discuss mailing list
discuss@xxxxxxxxxxxx
http://lists.corosync.org/mailman/listinfo/discuss
_______________________________________________
discuss mailing list
discuss@xxxxxxxxxxxx
http://lists.corosync.org/mailman/listinfo/discuss