I'm pretty sure this is wrong:
+ if ((nodeid & 0x7FFFFFFF) && mask_high_bit) {
+ nodeid &= 0x7FFFFFFF;
+ }
perhaps:
+ if ((nodeid ^ 0x7FFFFFFF) && mask_high_bit) {
+ nodeid &= 0x7FFFFFFF;
+ }
or just simply:
+ if (mask_high_bit) {
+ nodeid &= 0x7FFFFFFF;
+ }
On Sun, Jan 25, 2009 at 22:06, Steven Dake <[email protected]> wrote:
> For some series of patches that has gone in, the node id is not being
> generated or stored in the boundto address properly. This may have
> always been a bug or a bug resulting in recent changes. I'm not certain
> either way.
>
> The symptoms of the problem are that "message_source_is_local" will
> return the wrong value for some messages during race conditions of the
> netif_determine function running and updating the nodeid at the same
> time as totempg_nodeid_get retrieving the information. Sometime during
> this operation, the node id is set to zero, but later is compared
> against a proper node value, rejecting messages in many services such as
> ckpt, synchronization, and other badness.
>
> The attached patch fixes the problem.
>
> Regards
> -steve
>
>
> _______________________________________________
> Openais mailing list
> [email protected]
> https://lists.linux-foundation.org/mailman/listinfo/openais
>
_______________________________________________
Openais mailing list
[email protected]
https://lists.linux-foundation.org/mailman/listinfo/openais