Patch looks good, so ACK + merged. Regards, Honza Xia Li napsal(a): > When using corosync with clear_node_high_bit setting to yes, > the highest bit is cleared. When all the cluster nodes are in > one subnet, we probably configure the IP addresses as follows: > > node1: 147.2.207.64 > node2: 147.2.207.192 > > If the byte order of the nodeid is little endian, wiping off the > highest bit will make the two nodes have the same nodeid! > > This patch fixes this by converting the nodeid to network order. > > Signed-off-by: Xia Li <xli@xxxxxxxx> > --- > exec/totemip.c | 2 +- > test/testcpg.c | 2 +- > 2 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/exec/totemip.c b/exec/totemip.c > index 77bcad5..7ba746e 100644 > --- a/exec/totemip.c > +++ b/exec/totemip.c > @@ -466,7 +466,7 @@ int totemip_iface_check(struct totem_ip_address *bindnet, > if (boundto->family == AF_INET && boundto->nodeid == 0) { > unsigned int nodeid = 0; > memcpy (&nodeid, boundto->addr, sizeof (int)); > -#if __BYTE_ORDER == __BIG_ENDIAN > +#if __BYTE_ORDER == __LITTLE_ENDIAN > nodeid = swab32 (nodeid); > #endif > if (mask_high_bit) { > diff --git a/test/testcpg.c b/test/testcpg.c > index 67c2d7c..911140c 100644 > --- a/test/testcpg.c > +++ b/test/testcpg.c > @@ -84,7 +84,7 @@ static char * node_pid_format(unsigned int nodeid, unsigned int pid) { > static char buffer[100]; > if (show_ip) { > struct in_addr saddr; > -#if __BYTE_ORDER == __BIG_ENDIAN > +#if __BYTE_ORDER == __LITTLE_ENDIAN > saddr.s_addr = swab32(nodeid); > #else > saddr.s_addr = nodeid; _______________________________________________ discuss mailing list discuss@xxxxxxxxxxxx http://lists.corosync.org/mailman/listinfo/discuss