From mboxrd@z Thu Jan 1 00:00:00 1970 From: Fabio M. Di Nitto Date: Wed, 12 Oct 2011 08:39:06 +0200 Subject: [Cluster-devel] [PATCH] rgmanager: Fix dependency restart bug [RHEL5] In-Reply-To: <1318374125-7226-1-git-send-email-lhh@redhat.com> References: <1318374125-7226-1-git-send-email-lhh@redhat.com> Message-ID: <4E95360A.1020202@redhat.com> List-Id: To: cluster-devel.redhat.com MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit ACK don?t we need a RHEL-6 counter part for this BZ? Fabio On 10/12/2011 1:02 AM, Lon Hohberger wrote: > If we: > - had a service with 'depend' set on another > service, > - both services were running on the same host, > - that host died, and > - the service which depended on the other service > also had the 'restart' recovery policy, > > rgmanager would enter handle_start_req and return > an immediate error - with no further recovery action > performed. > > Resolves: rhbz#743442 > > Signed-off-by: Lon Hohberger > --- > rgmanager/src/daemons/rg_state.c | 10 +++++++++- > 1 files changed, 9 insertions(+), 1 deletions(-) > > diff --git a/rgmanager/src/daemons/rg_state.c b/rgmanager/src/daemons/rg_state.c > index dce28db..c02bfda 100644 > --- a/rgmanager/src/daemons/rg_state.c > +++ b/rgmanager/src/daemons/rg_state.c > @@ -2131,8 +2131,16 @@ handle_start_req(char *svcName, int req, int *new_owner) > > /* Check for dependency. We cannot start unless our > dependency is met */ > - if (check_depend_safe(svcName) == 0) > + if (check_depend_safe(svcName) == 0) { > + if (req == RG_START_RECOVER) { > + clulog(LOG_INFO, "Dependency for %s missing " > + "during recovery; marking as stopped", > + svcName); > + > + _svc_stop_finish(svcName, 0, RG_STATE_STOPPED); > + } > return RG_EDEPEND; > + } > > /* > * This is a 'root' start request. We need to clear out our failure