cluster-devel.redhat.com archive mirror
 help / color / mirror / Atom feed
* [Cluster-devel] cluster/rgmanager/src/daemons rg_state.c
@ 2007-01-16 15:29 lhh
  0 siblings, 0 replies; 14+ messages in thread
From: lhh @ 2007-01-16 15:29 UTC (permalink / raw)
  To: cluster-devel.redhat.com

CVSROOT:	/cvs/cluster
Module name:	cluster
Branch: 	RHEL50
Changes by:	lhh at sourceware.org	2007-01-16 15:29:35

Modified files:
	rgmanager/src/daemons: rg_state.c 

Log message:
	Resolves: #222485; patch from Simone Gotti
	Makes relocation work correctly.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/rgmanager/src/daemons/rg_state.c.diff?cvsroot=cluster&only_with_tag=RHEL50&r1=1.24.4.2&r2=1.24.4.3

--- cluster/rgmanager/src/daemons/rg_state.c	2006/12/14 22:17:21	1.24.4.2
+++ cluster/rgmanager/src/daemons/rg_state.c	2007/01/16 15:29:35	1.24.4.3
@@ -1292,7 +1292,7 @@
 		    int *new_owner)
 {
 	cluster_member_list_t *allowed_nodes, *backup = NULL;
-	uint32_t target = preferred_target, me = my_id();
+	int target = preferred_target, me = my_id();
 	int ret, x;
 	
 	/*
@@ -1308,7 +1308,7 @@
 			return RG_EFORWARD;
 	}
 
-	if (preferred_target != 0) {
+	if (preferred_target >= 0) {
 
 		allowed_nodes = member_list();
 		/*
@@ -1380,7 +1380,7 @@
 		//count_resource_groups(allowed_nodes);
 	}
 
-	if (preferred_target != 0)
+	if (preferred_target >= 0)
 		memb_mark_down(allowed_nodes, preferred_target);
 	memb_mark_down(allowed_nodes, me);
 



^ permalink raw reply	[flat|nested] 14+ messages in thread
* [Cluster-devel] cluster/rgmanager/src/daemons rg_state.c
@ 2008-02-05 19:47 lhh
  0 siblings, 0 replies; 14+ messages in thread
From: lhh @ 2008-02-05 19:47 UTC (permalink / raw)
  To: cluster-devel.redhat.com

CVSROOT:	/cvs/cluster
Module name:	cluster
Branch: 	RHEL51
Changes by:	lhh at sourceware.org	2008-02-05 19:47:17

Modified files:
	rgmanager/src/daemons: rg_state.c 

Log message:
	Fix #431520

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/rgmanager/src/daemons/rg_state.c.diff?cvsroot=cluster&only_with_tag=RHEL51&r1=1.24.2.10.2.4&r2=1.24.2.10.2.5

--- cluster/rgmanager/src/daemons/rg_state.c	2008/01/25 16:04:51	1.24.2.10.2.4
+++ cluster/rgmanager/src/daemons/rg_state.c	2008/02/05 19:47:17	1.24.2.10.2.5
@@ -862,6 +862,12 @@
 		return RG_EFAIL;
 	}
 
+	if (svcStatus.rs_owner == target) {
+		rg_unlock(&lockp);
+		/* Do not allow migration to its current owner! */
+		return 0;
+	}
+
 	if (svcStatus.rs_owner != my_id()) {
 		rg_unlock(&lockp);
 		return RG_EFORWARD;



^ permalink raw reply	[flat|nested] 14+ messages in thread
* [Cluster-devel] cluster/rgmanager/src/daemons rg_state.c
@ 2008-02-01 17:21 lhh
  0 siblings, 0 replies; 14+ messages in thread
From: lhh @ 2008-02-01 17:21 UTC (permalink / raw)
  To: cluster-devel.redhat.com

CVSROOT:	/cvs/cluster
Module name:	cluster
Branch: 	RHEL5
Changes by:	lhh at sourceware.org	2008-02-01 17:21:24

Modified files:
	rgmanager/src/daemons: rg_state.c 

Log message:
	#400211 - make sure we release the lock

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/rgmanager/src/daemons/rg_state.c.diff?cvsroot=cluster&only_with_tag=RHEL5&r1=1.24.2.19&r2=1.24.2.20

--- cluster/rgmanager/src/daemons/rg_state.c	2008/02/01 15:31:05	1.24.2.19
+++ cluster/rgmanager/src/daemons/rg_state.c	2008/02/01 17:21:23	1.24.2.20
@@ -1299,10 +1299,10 @@
 		svcStatus.rs_state = newstate;
 
 		if (set_rg_state(svcName, &svcStatus) != 0) {
-			rg_unlock(&lockp);
 			clulog(LOG_ERR, "#52: Failed changing RG status\n");
 			return RG_EFAIL;
 		}
+		rg_unlock(&lockp);
 		return 0;
 	} 
 



^ permalink raw reply	[flat|nested] 14+ messages in thread
* [Cluster-devel] cluster/rgmanager/src/daemons rg_state.c
@ 2008-02-01 15:31 lhh
  0 siblings, 0 replies; 14+ messages in thread
From: lhh @ 2008-02-01 15:31 UTC (permalink / raw)
  To: cluster-devel.redhat.com

CVSROOT:	/cvs/cluster
Module name:	cluster
Branch: 	RHEL5
Changes by:	lhh at sourceware.org	2008-02-01 15:31:06

Modified files:
	rgmanager/src/daemons: rg_state.c 

Log message:
	Fix double-stop

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/rgmanager/src/daemons/rg_state.c.diff?cvsroot=cluster&only_with_tag=RHEL5&r1=1.24.2.18&r2=1.24.2.19

--- cluster/rgmanager/src/daemons/rg_state.c	2008/02/01 15:15:02	1.24.2.18
+++ cluster/rgmanager/src/daemons/rg_state.c	2008/02/01 15:31:05	1.24.2.19
@@ -1303,6 +1303,7 @@
 			clulog(LOG_ERR, "#52: Failed changing RG status\n");
 			return RG_EFAIL;
 		}
+		return 0;
 	} 
 
 	clulog(LOG_NOTICE, "Stopping service %s\n", svcName);



^ permalink raw reply	[flat|nested] 14+ messages in thread
* [Cluster-devel] cluster/rgmanager/src/daemons rg_state.c
@ 2008-01-25 16:04 lhh
  0 siblings, 0 replies; 14+ messages in thread
From: lhh @ 2008-01-25 16:04 UTC (permalink / raw)
  To: cluster-devel.redhat.com

CVSROOT:	/cvs/cluster
Module name:	cluster
Branch: 	RHEL51
Changes by:	lhh at sourceware.org	2008-01-25 16:04:51

Modified files:
	rgmanager/src/daemons: rg_state.c 

Log message:
	Fix 430220 - clusvcadm -e -m / -Fe not working on RHEL 5.1

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/rgmanager/src/daemons/rg_state.c.diff?cvsroot=cluster&only_with_tag=RHEL51&r1=1.24.2.10.2.3&r2=1.24.2.10.2.4

--- cluster/rgmanager/src/daemons/rg_state.c	2007/08/30 16:05:14	1.24.2.10.2.3
+++ cluster/rgmanager/src/daemons/rg_state.c	2008/01/25 16:04:51	1.24.2.10.2.4
@@ -684,7 +684,7 @@
 	
 	case RG_STATE_DISABLED:
 	case RG_STATE_UNINITIALIZED:
-		if (req == RG_ENABLE) {
+		if (req == RG_ENABLE || req == RG_START_REMOTE) {
 			/* Don't actually enable if the RG is locked! */
 			if (rg_locked()) {
 				ret = 3;



^ permalink raw reply	[flat|nested] 14+ messages in thread
* [Cluster-devel] cluster/rgmanager/src/daemons rg_state.c
@ 2008-01-16 18:51 lhh
  0 siblings, 0 replies; 14+ messages in thread
From: lhh @ 2008-01-16 18:51 UTC (permalink / raw)
  To: cluster-devel.redhat.com

CVSROOT:	/cvs/cluster
Module name:	cluster
Changes by:	lhh at sourceware.org	2008-01-16 18:51:11

Modified files:
	rgmanager/src/daemons: rg_state.c 

Log message:
	Fix #60 error in #428346 bug

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/rgmanager/src/daemons/rg_state.c.diff?cvsroot=cluster&r1=1.45&r2=1.46

--- cluster/rgmanager/src/daemons/rg_state.c	2008/01/02 19:54:28	1.45
+++ cluster/rgmanager/src/daemons/rg_state.c	2008/01/16 18:51:11	1.46
@@ -1621,8 +1621,9 @@
 	do {
 		msg_ret = msg_receive(&ctx, &msg_relo,
 					      sizeof (SmMessageSt), 10);
+
 		if ((msg_ret == -1 && errno != ETIMEDOUT) ||
-		    (msg_ret >= 0)) {
+		    (msg_ret > 0)) {
 			break;
 		}
 



^ permalink raw reply	[flat|nested] 14+ messages in thread
* [Cluster-devel] cluster/rgmanager/src/daemons rg_state.c
@ 2008-01-16 18:50 lhh
  0 siblings, 0 replies; 14+ messages in thread
From: lhh @ 2008-01-16 18:50 UTC (permalink / raw)
  To: cluster-devel.redhat.com

CVSROOT:	/cvs/cluster
Module name:	cluster
Branch: 	RHEL5
Changes by:	lhh at sourceware.org	2008-01-16 18:50:29

Modified files:
	rgmanager/src/daemons: rg_state.c 

Log message:
	Fix #60 error in #428346 bug

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/rgmanager/src/daemons/rg_state.c.diff?cvsroot=cluster&only_with_tag=RHEL5&r1=1.24.2.15&r2=1.24.2.16

--- cluster/rgmanager/src/daemons/rg_state.c	2007/12/18 17:52:56	1.24.2.15
+++ cluster/rgmanager/src/daemons/rg_state.c	2008/01/16 18:50:29	1.24.2.16
@@ -1508,8 +1508,9 @@
 	do {
 		msg_ret = msg_receive(&ctx, &msg_relo,
 					      sizeof (SmMessageSt), 10);
+
 		if ((msg_ret == -1 && errno != ETIMEDOUT) ||
-		    (msg_ret >= 0)) {
+		    (msg_ret > 0)) {
 			break;
 		}
 



^ permalink raw reply	[flat|nested] 14+ messages in thread
* [Cluster-devel] cluster/rgmanager/src/daemons rg_state.c
@ 2008-01-02 19:54 lhh
  0 siblings, 0 replies; 14+ messages in thread
From: lhh @ 2008-01-02 19:54 UTC (permalink / raw)
  To: cluster-devel.redhat.com

CVSROOT:	/cvs/cluster
Module name:	cluster
Changes by:	lhh at sourceware.org	2008-01-02 19:54:28

Modified files:
	rgmanager/src/daemons: rg_state.c 

Log message:
	Fix endian issue on big-endian arches

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/rgmanager/src/daemons/rg_state.c.diff?cvsroot=cluster&r1=1.44&r2=1.45

--- cluster/rgmanager/src/daemons/rg_state.c	2007/12/30 08:27:21	1.44
+++ cluster/rgmanager/src/daemons/rg_state.c	2008/01/02 19:54:28	1.45
@@ -270,6 +270,7 @@
 set_rg_state(char *name, rg_state_t *svcblk)
 {
 	char res[256];
+	rg_state_t svcblk_store;
 #ifndef OPENAIS
 	cluster_member_list_t *membership;
 	int ret, tries = 0;
@@ -279,8 +280,12 @@
 		strncpy(svcblk->rs_name, name, sizeof(svcblk->rs_name));
 
 	snprintf(res, sizeof(res), "rg=\"%s\"", name);
+
+	memcpy(&svcblk_store, svcblk, sizeof(svcblk_store));
+	swab_rg_state_t(&svcblk_store);
+
 #ifdef OPENAIS
-	if (ds_write(res, svcblk, sizeof(*svcblk)) < 0)
+	if (ds_write(res, &svcblk_store, sizeof(svcblk_store)) < 0)
 		return -1;
 	return 0;
 #else
@@ -288,8 +293,9 @@
 		/* Retry up to 3 times just in case members transition
 		   while we're trying to commit something */
 		membership = member_list();
-		ret = vf_write(membership, VFF_IGN_CONN_ERRORS, res, svcblk,
-       		       	       sizeof(*svcblk));
+		ret = vf_write(membership, VFF_IGN_CONN_ERRORS, res,
+			       &svcblk_store,
+       		       	       sizeof(svcblk_store));
 		free_member_list(membership);
 	} while (ret == VFR_TIMEOUT && ++tries < 3);
 
@@ -360,6 +366,7 @@
 	}
 
 	memcpy(svcblk, data, sizeof(*svcblk));
+	swab_rg_state_t(svcblk);
 
 	return 0;
 #else
@@ -399,6 +406,7 @@
 
 	/* Copy out the data. */
 	memcpy(svcblk, data, sizeof(*svcblk));
+	swab_rg_state_t(svcblk);
 	free(data);
 	free_member_list(membership);
 
@@ -452,6 +460,7 @@
 
 	/* Copy out the data. */
 	memcpy(svcblk, data, sizeof(*svcblk));
+	swab_rg_state_t(svcblk);
 #ifndef OPENAIS
 	free(data);
 #endif



^ permalink raw reply	[flat|nested] 14+ messages in thread
* [Cluster-devel] cluster/rgmanager/src/daemons rg_state.c
@ 2007-06-25 16:49 lhh
  0 siblings, 0 replies; 14+ messages in thread
From: lhh @ 2007-06-25 16:49 UTC (permalink / raw)
  To: cluster-devel.redhat.com

CVSROOT:	/cvs/cluster
Module name:	cluster
Changes by:	lhh at sourceware.org	2007-06-25 16:49:28

Modified files:
	rgmanager/src/daemons: rg_state.c 

Log message:
	Fix missing label

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/rgmanager/src/daemons/rg_state.c.diff?cvsroot=cluster&r1=1.34&r2=1.35

--- cluster/rgmanager/src/daemons/rg_state.c	2007/06/22 14:23:04	1.34
+++ cluster/rgmanager/src/daemons/rg_state.c	2007/06/25 16:49:28	1.35
@@ -1673,7 +1673,7 @@
 		return RG_EABORT;
 	}
 	
-//relocate:
+relocate:
 	/*
 	 * OK, it failed to start - but succeeded to stop.  Now,
 	 * we should relocate the service.



^ permalink raw reply	[flat|nested] 14+ messages in thread
* [Cluster-devel] cluster/rgmanager/src/daemons rg_state.c
@ 2007-06-22 14:23 lhh
  0 siblings, 0 replies; 14+ messages in thread
From: lhh @ 2007-06-22 14:23 UTC (permalink / raw)
  To: cluster-devel.redhat.com

CVSROOT:	/cvs/cluster
Module name:	cluster
Changes by:	lhh at sourceware.org	2007-06-22 14:23:04

Modified files:
	rgmanager/src/daemons: rg_state.c 

Log message:
	Make exclusive resources work again

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/rgmanager/src/daemons/rg_state.c.diff?cvsroot=cluster&r1=1.33&r2=1.34

--- cluster/rgmanager/src/daemons/rg_state.c	2007/06/14 15:06:51	1.33
+++ cluster/rgmanager/src/daemons/rg_state.c	2007/06/22 14:23:04	1.34
@@ -1592,7 +1592,7 @@
 handle_start_req(char *svcName, int req, int *new_owner)
 {
 	int ret, tolerance = FOD_BEST;
-//	cluster_member_list_t *membership = member_list();
+	cluster_member_list_t *membership = member_list();
 	int need_check = have_exclusive_resources();
 
 	/*
@@ -1601,7 +1601,6 @@
 	 */
 	if (req == RG_ENABLE)
 		tolerance = FOD_GOOD;
-/*	
 	if (req != RG_RESTART &&
 	    req != RG_START_RECOVER &&
 	    (node_should_start_safe(my_id(), membership, svcName) <
@@ -1622,7 +1621,7 @@
 		}
 	}
 	free_member_list(membership);
-*/
+
 	/* Check for dependency.  We cannot start unless our
 	   dependency is met */
 	if (check_depend_safe(svcName) == 0)



^ permalink raw reply	[flat|nested] 14+ messages in thread
* [Cluster-devel] cluster/rgmanager/src/daemons rg_state.c
@ 2007-01-16 15:32 lhh
  0 siblings, 0 replies; 14+ messages in thread
From: lhh @ 2007-01-16 15:32 UTC (permalink / raw)
  To: cluster-devel.redhat.com

CVSROOT:	/cvs/cluster
Module name:	cluster
Changes by:	lhh at sourceware.org	2007-01-16 15:32:18

Modified files:
	rgmanager/src/daemons: rg_state.c 

Log message:
	Resolves: #222485; patch from Simone Gotti
	Makes relocation work correctly.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/rgmanager/src/daemons/rg_state.c.diff?cvsroot=cluster&r1=1.26&r2=1.27

--- cluster/rgmanager/src/daemons/rg_state.c	2006/12/14 22:18:07	1.26
+++ cluster/rgmanager/src/daemons/rg_state.c	2007/01/16 15:32:18	1.27
@@ -1292,7 +1292,7 @@
 		    int *new_owner)
 {
 	cluster_member_list_t *allowed_nodes, *backup = NULL;
-	uint32_t target = preferred_target, me = my_id();
+	int target = preferred_target, me = my_id();
 	int ret, x;
 	
 	/*
@@ -1308,7 +1308,7 @@
 			return RG_EFORWARD;
 	}
 
-	if (preferred_target != 0) {
+	if (preferred_target >= 0) {
 
 		allowed_nodes = member_list();
 		/*
@@ -1380,7 +1380,7 @@
 		//count_resource_groups(allowed_nodes);
 	}
 
-	if (preferred_target != 0)
+	if (preferred_target >= 0)
 		memb_mark_down(allowed_nodes, preferred_target);
 	memb_mark_down(allowed_nodes, me);
 



^ permalink raw reply	[flat|nested] 14+ messages in thread
* [Cluster-devel] cluster/rgmanager/src/daemons rg_state.c
@ 2007-01-16 15:31 lhh
  0 siblings, 0 replies; 14+ messages in thread
From: lhh @ 2007-01-16 15:31 UTC (permalink / raw)
  To: cluster-devel.redhat.com

CVSROOT:	/cvs/cluster
Module name:	cluster
Branch: 	RHEL5
Changes by:	lhh at sourceware.org	2007-01-16 15:31:03

Modified files:
	rgmanager/src/daemons: rg_state.c 

Log message:
	Resolves: #222485; patch from Simone Gotti
	Makes relocation work correctly.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/rgmanager/src/daemons/rg_state.c.diff?cvsroot=cluster&only_with_tag=RHEL5&r1=1.24.2.2&r2=1.24.2.3

--- cluster/rgmanager/src/daemons/rg_state.c	2006/12/14 22:17:43	1.24.2.2
+++ cluster/rgmanager/src/daemons/rg_state.c	2007/01/16 15:31:03	1.24.2.3
@@ -1292,7 +1292,7 @@
 		    int *new_owner)
 {
 	cluster_member_list_t *allowed_nodes, *backup = NULL;
-	uint32_t target = preferred_target, me = my_id();
+	int target = preferred_target, me = my_id();
 	int ret, x;
 	
 	/*
@@ -1308,7 +1308,7 @@
 			return RG_EFORWARD;
 	}
 
-	if (preferred_target != 0) {
+	if (preferred_target >= 0) {
 
 		allowed_nodes = member_list();
 		/*
@@ -1380,7 +1380,7 @@
 		//count_resource_groups(allowed_nodes);
 	}
 
-	if (preferred_target != 0)
+	if (preferred_target >= 0)
 		memb_mark_down(allowed_nodes, preferred_target);
 	memb_mark_down(allowed_nodes, me);
 



^ permalink raw reply	[flat|nested] 14+ messages in thread
* [Cluster-devel] cluster/rgmanager/src/daemons rg_state.c
@ 2006-09-28 20:02 lhh
  0 siblings, 0 replies; 14+ messages in thread
From: lhh @ 2006-09-28 20:02 UTC (permalink / raw)
  To: cluster-devel.redhat.com

CVSROOT:	/cvs/cluster
Module name:	cluster
Branch: 	RHEL4
Changes by:	lhh at sourceware.org	2006-09-28 20:02:07

Modified files:
	rgmanager/src/daemons: rg_state.c 

Log message:
	Fix segfault due to missing param

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/rgmanager/src/daemons/rg_state.c.diff?cvsroot=cluster&only_with_tag=RHEL4&r1=1.4.2.15&r2=1.4.2.16

--- cluster/rgmanager/src/daemons/rg_state.c	2006/09/27 12:22:41	1.4.2.15
+++ cluster/rgmanager/src/daemons/rg_state.c	2006/09/28 20:02:07	1.4.2.16
@@ -943,7 +943,8 @@
 	if (old_state == RG_STATE_FAILED && newstate == RG_STATE_DISABLED) {
 		if (ret)
 			clulog(LOG_ALERT, "Marking %s as 'disabled', "
-			       "but some resources may still be allocated!\n");
+			       "but some resources may still be allocated!\n",
+			       svcName);
 		_svc_stop_finish(svcName, 0, newstate);
 	} else {
 		_svc_stop_finish(svcName, ret, newstate);



^ permalink raw reply	[flat|nested] 14+ messages in thread
* [Cluster-devel] cluster/rgmanager/src/daemons rg_state.c
@ 2006-09-28 20:01 lhh
  0 siblings, 0 replies; 14+ messages in thread
From: lhh @ 2006-09-28 20:01 UTC (permalink / raw)
  To: cluster-devel.redhat.com

CVSROOT:	/cvs/cluster
Module name:	cluster
Changes by:	lhh at sourceware.org	2006-09-28 20:01:56

Modified files:
	rgmanager/src/daemons: rg_state.c 

Log message:
	Fix segfault due to missing param

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/rgmanager/src/daemons/rg_state.c.diff?cvsroot=cluster&r1=1.22&r2=1.23

--- cluster/rgmanager/src/daemons/rg_state.c	2006/09/27 16:28:41	1.22
+++ cluster/rgmanager/src/daemons/rg_state.c	2006/09/28 20:01:56	1.23
@@ -1011,7 +1011,8 @@
 	if (old_state == RG_STATE_FAILED && newstate == RG_STATE_DISABLED) {
 		if (ret)
 			clulog(LOG_ALERT, "Marking %s as 'disabled', "
-			       "but some resources may still be allocated!\n");
+			       "but some resources may still be allocated!\n",
+			       svcName);
 		_svc_stop_finish(svcName, 0, newstate);
 	} else {
 		_svc_stop_finish(svcName, ret, newstate);



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

end of thread, other threads:[~2008-02-05 19:47 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-01-16 15:29 [Cluster-devel] cluster/rgmanager/src/daemons rg_state.c lhh
  -- strict thread matches above, loose matches on Subject: below --
2008-02-05 19:47 lhh
2008-02-01 17:21 lhh
2008-02-01 15:31 lhh
2008-01-25 16:04 lhh
2008-01-16 18:51 lhh
2008-01-16 18:50 lhh
2008-01-02 19:54 lhh
2007-06-25 16:49 lhh
2007-06-22 14:23 lhh
2007-01-16 15:32 lhh
2007-01-16 15:31 lhh
2006-09-28 20:02 lhh
2006-09-28 20:01 lhh

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).