All of lore.kernel.org
 help / color / mirror / Atom feed
* [Cluster-devel] [PATCH] rgmanager: Fix dependency restart bug [RHEL5]
@ 2011-10-11 23:02 Lon Hohberger
  2011-10-12  6:39 ` Fabio M. Di Nitto
  0 siblings, 1 reply; 2+ messages in thread
From: Lon Hohberger @ 2011-10-11 23:02 UTC (permalink / raw)
  To: cluster-devel.redhat.com

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 <lhh@redhat.com>
---
 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
-- 
1.7.3.4



^ permalink raw reply related	[flat|nested] 2+ messages in thread

* [Cluster-devel] [PATCH] rgmanager: Fix dependency restart bug [RHEL5]
  2011-10-11 23:02 [Cluster-devel] [PATCH] rgmanager: Fix dependency restart bug [RHEL5] Lon Hohberger
@ 2011-10-12  6:39 ` Fabio M. Di Nitto
  0 siblings, 0 replies; 2+ messages in thread
From: Fabio M. Di Nitto @ 2011-10-12  6:39 UTC (permalink / raw)
  To: cluster-devel.redhat.com

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 <lhh@redhat.com>
> ---
>  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



^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2011-10-12  6:39 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-10-11 23:02 [Cluster-devel] [PATCH] rgmanager: Fix dependency restart bug [RHEL5] Lon Hohberger
2011-10-12  6:39 ` Fabio M. Di Nitto

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.