cluster-devel.redhat.com archive mirror
 help / color / mirror / Atom feed
* [Cluster-devel] cluster/rgmanager ChangeLog src/daemons/restree.c
@ 2006-06-16 20:11 lhh
  0 siblings, 0 replies; 7+ messages in thread
From: lhh @ 2006-06-16 20:11 UTC (permalink / raw)
  To: cluster-devel.redhat.com

CVSROOT:	/cvs/cluster
Module name:	cluster
Branch: 	RHEL4
Changes by:	lhh at sourceware.org	2006-06-16 20:11:34

Modified files:
	rgmanager      : ChangeLog 
	rgmanager/src/daemons: restree.c 

Log message:
	Fix #193859

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/rgmanager/ChangeLog.diff?cvsroot=cluster&only_with_tag=RHEL4&r1=1.5.2.18&r2=1.5.2.19
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/rgmanager/src/daemons/restree.c.diff?cvsroot=cluster&only_with_tag=RHEL4&r1=1.10.2.9&r2=1.10.2.10

--- cluster/rgmanager/ChangeLog	2006/06/16 19:57:52	1.5.2.18
+++ cluster/rgmanager/ChangeLog	2006/06/16 20:11:33	1.5.2.19
@@ -2,6 +2,8 @@
 	* src/daemons/fo_domain.c, groups.c: Get rid of compiler warnings
 	* src/daemons/rg_state.c: Change clu_lock_verbose to use the NULL
 	lock/convert mechanism offered by DLM to work around #193128
+	* src/daemons/restree.c: Apply patch from Navid Sheikhol-Eslami
+	(navid at redhat.com) to fix #193859
 	* src/resources/fs.sh, clusterfs.sh, nfsexport.sh, nfsclient.sh,
 	service.sh, svclib_nfslock: Finish up initial NFS workaround.
 
--- cluster/rgmanager/src/daemons/restree.c	2006/05/12 21:28:31	1.10.2.9
+++ cluster/rgmanager/src/daemons/restree.c	2006/06/16 20:11:33	1.10.2.10
@@ -702,18 +702,18 @@
 #endif
 
 			/* Do op on all children at our level */
-			rv = _res_op(&node->rn_child, first,
+			rv += _res_op(&node->rn_child, first,
 			     	     rule->rr_childtypes[x].rc_name, 
 		     		     ret, op);
-			if (rv != 0)
+			if (rv != 0 && op != RS_STOP)
 				return rv;
 		}
 
-		if (rv != 0)
+		if (rv != 0 && op != RS_STOP)
 			return rv;
 	}
 
-	return 0;
+	return rv;
 }
 
 



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

* [Cluster-devel] cluster/rgmanager ChangeLog src/daemons/restree.c
@ 2006-06-16 20:11 lhh
  0 siblings, 0 replies; 7+ messages in thread
From: lhh @ 2006-06-16 20:11 UTC (permalink / raw)
  To: cluster-devel.redhat.com

CVSROOT:	/cvs/cluster
Module name:	cluster
Branch: 	STABLE
Changes by:	lhh at sourceware.org	2006-06-16 20:11:51

Modified files:
	rgmanager      : ChangeLog 
	rgmanager/src/daemons: restree.c 

Log message:
	Fix #193859

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/rgmanager/ChangeLog.diff?cvsroot=cluster&only_with_tag=STABLE&r1=1.5.2.13.6.1&r2=1.5.2.13.6.2
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/rgmanager/src/daemons/restree.c.diff?cvsroot=cluster&only_with_tag=STABLE&r1=1.10.2.2.6.6&r2=1.10.2.2.6.7

--- cluster/rgmanager/ChangeLog	2006/06/16 20:07:45	1.5.2.13.6.1
+++ cluster/rgmanager/ChangeLog	2006/06/16 20:11:51	1.5.2.13.6.2
@@ -2,6 +2,8 @@
 	* src/daemons/fo_domain.c, groups.c: Get rid of compiler warnings
 	* src/daemons/rg_state.c: Change clu_lock_verbose to use the NULL
 	lock/convert mechanism offered by DLM to work around #193128
+	* src/daemons/restree.c: Apply patch from Navid Sheikhol-Eslami
+	(navid at redhat.com) to fix #193859
 	* src/resources/fs.sh, clusterfs.sh, nfsexport.sh, nfsclient.sh,
 	service.sh, svclib_nfslock: Finish up initial NFS workaround.
 
--- cluster/rgmanager/src/daemons/restree.c	2006/06/16 20:07:46	1.10.2.2.6.6
+++ cluster/rgmanager/src/daemons/restree.c	2006/06/16 20:11:51	1.10.2.2.6.7
@@ -702,18 +702,18 @@
 #endif
 
 			/* Do op on all children at our level */
-			rv = _res_op(&node->rn_child, first,
+			rv += _res_op(&node->rn_child, first,
 			     	     rule->rr_childtypes[x].rc_name, 
 		     		     ret, op);
-			if (rv != 0)
+			if (rv != 0 && op != RS_STOP)
 				return rv;
 		}
 
-		if (rv != 0)
+		if (rv != 0 && op != RS_STOP)
 			return rv;
 	}
 
-	return 0;
+	return rv;
 }
 
 



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

* [Cluster-devel] cluster/rgmanager ChangeLog src/daemons/restree.c
@ 2007-06-13 20:12 lhh
  0 siblings, 0 replies; 7+ messages in thread
From: lhh @ 2007-06-13 20:12 UTC (permalink / raw)
  To: cluster-devel.redhat.com

CVSROOT:	/cvs/cluster
Module name:	cluster
Branch: 	RHEL5
Changes by:	lhh at sourceware.org	2007-06-13 20:12:19

Modified files:
	rgmanager      : ChangeLog 
	rgmanager/src/daemons: restree.c 

Log message:
	Fix #229650 - part 2; fixes an uninitialized var problem

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/rgmanager/ChangeLog.diff?cvsroot=cluster&only_with_tag=RHEL5&r1=1.31.2.10&r2=1.31.2.11
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/rgmanager/src/daemons/restree.c.diff?cvsroot=cluster&only_with_tag=RHEL5&r1=1.23.2.4&r2=1.23.2.5

--- cluster/rgmanager/ChangeLog	2007/05/31 18:58:46	1.31.2.10
+++ cluster/rgmanager/ChangeLog	2007/06/13 20:12:19	1.31.2.11
@@ -1,3 +1,6 @@
+2007-06-13 Lon Hohberger <lhh@redhat.com>
+	* src/daemons/restree.c: Fix #229650 uninitialized bug
+
 2007-05-31 Lon Hohberger <lhh@redhat.com>
 	* src/daemons/resrules.c: Fix #234249 - ignore obvious backup files
 	in /usr/share/cluster when processing resource rules
--- cluster/rgmanager/src/daemons/restree.c	2007/05/31 18:58:46	1.23.2.4
+++ cluster/rgmanager/src/daemons/restree.c	2007/06/13 20:12:19	1.23.2.5
@@ -509,6 +509,7 @@
 	node->rn_parent = parent;
 	node->rn_resource = curres;
 	node->rn_state = RES_STOPPED;
+	node->rn_flags = 0;
 	node->rn_actions = (resource_act_t *)act_dup(curres->r_actions);
 
 	snprintf(tok, sizeof(tok), "%s/@__independent_subtree", base);



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

* [Cluster-devel] cluster/rgmanager ChangeLog src/daemons/restree.c
@ 2007-06-13 20:13 lhh
  0 siblings, 0 replies; 7+ messages in thread
From: lhh @ 2007-06-13 20:13 UTC (permalink / raw)
  To: cluster-devel.redhat.com

CVSROOT:	/cvs/cluster
Module name:	cluster
Changes by:	lhh at sourceware.org	2007-06-13 20:13:26

Modified files:
	rgmanager      : ChangeLog 
	rgmanager/src/daemons: restree.c 

Log message:
	Fix #229650 - part 2; fixes an uninitialized var problem

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

--- cluster/rgmanager/ChangeLog	2007/05/31 19:08:13	1.44
+++ cluster/rgmanager/ChangeLog	2007/06/13 20:13:26	1.45
@@ -1,3 +1,6 @@
+2007-06-13 Lon Hohberger <lhh@redhat.com>
+	* src/daemons/restree.c: Fix #229650 uninitialized bug
+
 2007-05-31 Lon Hohberger <lhh@redhat.com>
 	* src/daemons/resrules.c: Fix #234249 - ignore obvious backup files
 	in /usr/share/cluster when processing resource rules
--- cluster/rgmanager/src/daemons/restree.c	2007/05/31 19:08:14	1.31
+++ cluster/rgmanager/src/daemons/restree.c	2007/06/13 20:13:26	1.32
@@ -509,6 +509,7 @@
 	node->rn_parent = parent;
 	node->rn_resource = curres;
 	node->rn_state = RES_STOPPED;
+	node->rn_flags = 0;
 	node->rn_actions = (resource_act_t *)act_dup(curres->r_actions);
 
 	snprintf(tok, sizeof(tok), "%s/@__independent_subtree", base);



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

* [Cluster-devel] cluster/rgmanager ChangeLog src/daemons/restree.c
@ 2007-06-18 20:51 lhh
  0 siblings, 0 replies; 7+ messages in thread
From: lhh @ 2007-06-18 20:51 UTC (permalink / raw)
  To: cluster-devel.redhat.com

CVSROOT:	/cvs/cluster
Module name:	cluster
Branch: 	RHEL5
Changes by:	lhh at sourceware.org	2007-06-18 20:51:44

Modified files:
	rgmanager      : ChangeLog 
	rgmanager/src/daemons: restree.c 

Log message:
	Ancillary fix for #235178

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/rgmanager/ChangeLog.diff?cvsroot=cluster&only_with_tag=RHEL5&r1=1.31.2.13&r2=1.31.2.14
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/rgmanager/src/daemons/restree.c.diff?cvsroot=cluster&only_with_tag=RHEL5&r1=1.23.2.6&r2=1.23.2.7

--- cluster/rgmanager/ChangeLog	2007/06/14 14:53:42	1.31.2.13
+++ cluster/rgmanager/ChangeLog	2007/06/18 20:51:44	1.31.2.14
@@ -1,3 +1,8 @@
+2007-06-18 Lon Hohberger <lhh@redhat.com>
+	* src/daemons/restree.c: Wait for status check time intervals to 
+	elapse for the first status check in rgmanager, but not in rg_test.
+	(part of 235178)
+
 2007-06-14 Lon Hohberger <lhh@redhat.com>
 	* src/daemons/rg_state.c: Ancillary patch to (a) make clusvcadm get
 	the new owner of the service and (b) ensure allowed_nodes is freed
--- cluster/rgmanager/src/daemons/restree.c	2007/06/13 20:32:02	1.23.2.6
+++ cluster/rgmanager/src/daemons/restree.c	2007/06/18 20:51:44	1.23.2.7
@@ -1001,25 +1001,42 @@
 
 	now = time(NULL);
 
-       for (; node->rn_actions[x].ra_name; x++) {
+	for (; node->rn_actions[x].ra_name; x++) {
 		if (!has_recover &&
-                   !strcmp(node->rn_actions[x].ra_name, "recover")) {
+		    !strcmp(node->rn_actions[x].ra_name, "recover")) {
 			has_recover = 1;
 			continue;
 		}
 
-               if (strcmp(node->rn_actions[x].ra_name, "status"))
+		if (strcmp(node->rn_actions[x].ra_name, "status"))
+			continue;
+
+#ifndef NO_CCS
+		/* If a status check has never been done, reset its status. */
+		/* Don't do this from rg_test (ifndef NO_CCS) */
+		if (!node->rn_actions[x].ra_last) {
+			node->rn_actions[x].ra_last = now;
 			continue;
+		}
+#endif
+
+		delta = now - node->rn_actions[x].ra_last;
 
-               delta = now - node->rn_actions[x].ra_last;
+		/*
+		printf("%s:%s %s level %d interval = %d  elapsed = %d\n",
+			node->rn_resource->r_rule->rr_type,
+			node->rn_resource->r_attrs->ra_value,
+			node->rn_actions[x].ra_name, node->rn_actions[x].ra_depth,
+			(int)node->rn_actions[x].ra_interval, (int)delta);
+		 */
 
-		/* Ok, it's a 'monitor' action. See if enough time has
-		   elapsed for a given type of monitoring action */
-               if (delta < node->rn_actions[x].ra_interval)
+		/* Ok, it's a 'status' action. See if enough time has
+		   elapsed for a given type of status action */
+		if (delta < node->rn_actions[x].ra_interval)
 			continue;
 
 		if (idx == -1 ||
-                   node->rn_actions[x].ra_depth > node->rn_actions[idx].ra_depth)
+		    node->rn_actions[x].ra_depth > node->rn_actions[idx].ra_depth)
 			idx = x;
 	}
 



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

* [Cluster-devel] cluster/rgmanager ChangeLog src/daemons/restree.c
@ 2007-09-25 21:06 lhh
  0 siblings, 0 replies; 7+ messages in thread
From: lhh @ 2007-09-25 21:06 UTC (permalink / raw)
  To: cluster-devel.redhat.com

CVSROOT:	/cvs/cluster
Module name:	cluster
Branch: 	RHEL51
Changes by:	lhh at sourceware.org	2007-09-25 21:06:15

Modified files:
	rgmanager      : ChangeLog 
	rgmanager/src/daemons: restree.c 

Log message:
	Ancillary patch for side case re: #229650 - patch from Simone Gotti.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/rgmanager/ChangeLog.diff?cvsroot=cluster&only_with_tag=RHEL51&r1=1.31.2.19.2.4&r2=1.31.2.19.2.5
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/rgmanager/src/daemons/restree.c.diff?cvsroot=cluster&only_with_tag=RHEL51&r1=1.23.2.8.2.3&r2=1.23.2.8.2.4

--- cluster/rgmanager/ChangeLog	2007/08/30 16:05:14	1.31.2.19.2.4
+++ cluster/rgmanager/ChangeLog	2007/09/25 21:06:15	1.31.2.19.2.5
@@ -1,3 +1,7 @@
+2007-09-25 Lon Hohberger <lhh@redhat.com>
+	* src/daemons/restree.c: Apply patch to fix side case re: 229650
+	Patch from Simone Gotti. Resolves: #229650
+
 2007-08-30 Lon Hohberger <lhh@redhat.com>
        * src/daemons/restree.c, rg_state.c: Fix tree-restart bug
        This is another part of #229650
--- cluster/rgmanager/src/daemons/restree.c	2007/08/30 16:05:14	1.23.2.8.2.3
+++ cluster/rgmanager/src/daemons/restree.c	2007/09/25 21:06:15	1.23.2.8.2.4
@@ -1242,9 +1242,23 @@
 
 	}
 
-	if (node->rn_child)
-		rv |= _res_op_by_level(&node, me?NULL:first, ret, op);
+       if (node->rn_child) {
+                rv |= _res_op_by_level(&node, me?NULL:first, ret, op);
 
+               /* If one or more child resources are failed and at least one
+		  of them is not an independent subtree then let's check if
+		  if we are an independent subtree.  If so, mark ourself
+		  and all our children as failed and return a flag stating
+		  that this section is recoverable apart from siblings in
+		  the resource tree. */
+		if (op == RS_STATUS && (rv & SFL_FAILURE) &&
+		    (node->rn_flags & RF_INDEPENDENT)) {
+			mark_nodes(node, RES_FAILED,
+				   RF_NEEDSTART | RF_NEEDSTOP);
+			rv = SFL_RECOVERABLE;
+		}
+	}
+ 			
 	/* Stop should occur after children have stopped */
 	if (me && (op == RS_STOP)) {
 		node->rn_flags &= ~RF_NEEDSTOP;



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

* [Cluster-devel] cluster/rgmanager ChangeLog src/daemons/restree.c
@ 2007-09-25 21:09 lhh
  0 siblings, 0 replies; 7+ messages in thread
From: lhh @ 2007-09-25 21:09 UTC (permalink / raw)
  To: cluster-devel.redhat.com

CVSROOT:	/cvs/cluster
Module name:	cluster
Branch: 	RHEL5
Changes by:	lhh at sourceware.org	2007-09-25 21:09:23

Modified files:
	rgmanager      : ChangeLog 
	rgmanager/src/daemons: restree.c 

Log message:
	Ancillary patch for side case re: #229650 - patch from Simone Gotti.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/rgmanager/ChangeLog.diff?cvsroot=cluster&only_with_tag=RHEL5&r1=1.31.2.26&r2=1.31.2.27
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/rgmanager/src/daemons/restree.c.diff?cvsroot=cluster&only_with_tag=RHEL5&r1=1.23.2.11&r2=1.23.2.12

--- cluster/rgmanager/ChangeLog	2007/08/30 16:03:02	1.31.2.26
+++ cluster/rgmanager/ChangeLog	2007/09/25 21:09:23	1.31.2.27
@@ -1,3 +1,7 @@
+2007-09-25 Lon Hohberger <lhh@redhat.com>
+	* src/daemons/restree.c: Apply patch to fix side case re: 229650
+	Patch from Simone Gotti. Resolves: #229650
+
 2007-08-30 Lon Hohberger <lhh@redhat.com>
 	* src/daemons/restree.c, rg_state.c: Fix tree-restart bug
 	This is another part of #229650
--- cluster/rgmanager/src/daemons/restree.c	2007/08/30 16:03:03	1.23.2.11
+++ cluster/rgmanager/src/daemons/restree.c	2007/09/25 21:09:23	1.23.2.12
@@ -1242,9 +1242,23 @@
 
 	}
 
-	if (node->rn_child)
-		rv |= _res_op_by_level(&node, me?NULL:first, ret, op);
+       if (node->rn_child) {
+                rv |= _res_op_by_level(&node, me?NULL:first, ret, op);
 
+               /* If one or more child resources are failed and at least one
+		  of them is not an independent subtree then let's check if
+		  if we are an independent subtree.  If so, mark ourself
+		  and all our children as failed and return a flag stating
+		  that this section is recoverable apart from siblings in
+		  the resource tree. */
+		if (op == RS_STATUS && (rv & SFL_FAILURE) &&
+		    (node->rn_flags & RF_INDEPENDENT)) {
+			mark_nodes(node, RES_FAILED,
+				   RF_NEEDSTART | RF_NEEDSTOP);
+			rv = SFL_RECOVERABLE;
+		}
+	}
+ 			
 	/* Stop should occur after children have stopped */
 	if (me && (op == RS_STOP)) {
 		node->rn_flags &= ~RF_NEEDSTOP;



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

end of thread, other threads:[~2007-09-25 21:09 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-09-25 21:06 [Cluster-devel] cluster/rgmanager ChangeLog src/daemons/restree.c lhh
  -- strict thread matches above, loose matches on Subject: below --
2007-09-25 21:09 lhh
2007-06-18 20:51 lhh
2007-06-13 20:13 lhh
2007-06-13 20:12 lhh
2006-06-16 20:11 lhh
2006-06-16 20:11 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).