cluster: RHEL5 - rgmanager: Fix poor -F handling on enable

Lon Hohberger lon@fedoraproject.org
Fri Feb 27 14:57:00 GMT 2009


Gitweb:        http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commitdiff;h=c0de9cfb54b5e3a8e0de4b95ae80d2ce5dae4aae
Commit:        c0de9cfb54b5e3a8e0de4b95ae80d2ce5dae4aae
Parent:        0bc0fbcf186c76eae15c17aef1e09ce90d34a771
Author:        Yevheniy Demchenko <zheka@uvt.cz>
AuthorDate:    Thu Feb 26 15:17:23 2009 -0500
Committer:     Lon Hohberger <lhh@redhat.com>
CommitterDate: Fri Feb 27 09:55:09 2009 -0500

rgmanager: Fix poor -F handling on enable

Fixes these two issues (rhbz486711, rhbz486717):
* Rgmanager crashes if no members of a restricted
  failover domain are online and you enable with -F
* Rgmanager does not correctly restart services if
  they fail on the first node when using -F during
  enable

Signed-off-by: Lon Hohberger <lhh@redhat.com>
---
 rgmanager/src/daemons/rg_state.c |   10 +++++++---
 1 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/rgmanager/src/daemons/rg_state.c b/rgmanager/src/daemons/rg_state.c
index 98a8000..c13971c 100644
--- a/rgmanager/src/daemons/rg_state.c
+++ b/rgmanager/src/daemons/rg_state.c
@@ -2178,14 +2178,18 @@ handle_fd_start_req(char *svcName, int request, int *new_owner)
 		target = best_target_node(allowed_nodes, 0,
 		    			  svcName, 1);
 		if (target == me) {
-		      	ret = handle_start_remote_req(svcName, request);
+			ret = handle_start_remote_req(svcName,
+				(request==RG_ENABLE?RG_START_RECOVER:request));
 			if (ret == RG_EAGAIN)
 				goto out;
-		} else if (target < 0) {
+		} else if (!(target > 0)) {
 			ret = RG_EFAIL;
 			goto out;
 		} else {
-			ret = svc_start_remote(svcName, RG_START_REMOTE, target);
+			ret = svc_start_remote(svcName,
+					       (request==RG_ENABLE?
+				            RG_START_RECOVER:RG_START_REMOTE),
+					       target);
 		}
 
 		switch(ret) {



More information about the Cluster-cvs mailing list