* [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:09 [Cluster-devel] cluster/rgmanager ChangeLog src/daemons/restree.c lhh
-- strict thread matches above, loose matches on Subject: below --
2007-09-25 21:06 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).