Re: Has anyone used corosync with both big & little endian systems in a single cluster?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Linux Clusters]     [Corosync Project]     [Linux USB Devel]     [Linux Audio Users]     [Photo]     [Yosemite News]    [Yosemite Photos]    [Linux Kernel]     [Linux SCSI]     [X.Org]

  Powered by Linux