[Linux-cluster] 2 missing patches in HEAD and RHEL5 branch. (rg_state.c and ip.sh)

Lon Hohberger lhh at redhat.com
Fri Jan 12 18:27:57 UTC 2007


On Fri, 2007-01-12 at 11:02 -0500, Lon Hohberger wrote:
> On Fri, 2007-01-12 at 14:59 +0100, Simone Gotti wrote:
> > Hi all,
> > 
> > On a 2 node openais cman cluster, I failed a network interface and
> > noticed that it didn't failed over the other node.
> > 
> > Looking at the rgmanager-2.0.16 code I noticed that:
> > 
> > handle_relocate_req is called with preferred_target = -1, but inside
> > this function, there are 2 checks to see if the preferred_target is
> > setted, the check is a 'if (preferred_target != 0)' so the function
> > thinks that a preferred target is choosed. Then, inside the cycle, the
> > only one target that really exists is "me" (as -1 isn't a real target)
> > and there a "goto exausted:", the service is then restarted only on the
> > locale node, where it fails again and so it's stopped. Changing these
> > checks to "> 0" worked. 
> > 
> > Before writing a patch I noticed that in the RHEL4 CVS tag is used a
> > NODE_ID_NONE instead of the numeric values, so the problem (not tested)
> > probably doesn't happen.

Good catch.

NODE_ID_NONE isn't in RHEL5[0]/HEAD right now; so the checks should be
">= 0" rather than "!= 0".  NODE_ID_NONE was (uint64_t)(-1) on RHEL4. 

> > The same problem is in the ip.sh resource scripts as it's missing the
> > patch for "Fix bug in ip.sh allowing start of the IP if the link was
> > down, preventing failover (linux-cluster reported)." in 1.5.2.16 of
> > RHEL4 branch.

You're right, it's missing.

-- Lon




More information about the Linux-cluster mailing list