cluster: RHEL6 - rgmanager: Fix corner case in critical/non-critical handling
Lon Hohberger
lon at fedoraproject.org
Tue Feb 1 18:11:05 UTC 2011
Gitweb: http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commitdiff;h=d100504de6eff5f83dba79319ad0bd560f7a57df
Commit: d100504de6eff5f83dba79319ad0bd560f7a57df
Parent: c7187470032d2ab7c32a6a3ae43a358e1a99656b
Author: Lon Hohberger <lhh at redhat.com>
AuthorDate: Fri Sep 24 16:45:29 2010 -0400
Committer: Lon Hohberger <lhh at redhat.com>
CommitterDate: Tue Feb 1 12:34:35 2011 -0500
rgmanager: Fix corner case in critical/non-critical handling
If a subtree had failed and you removed
__independent_subtree from the configuration for that
subtree as part of a reconfiguration operation, the
subtree would fail to stop, causing the service to enter
the failed state.
Resolves: rhbz#634277
Signed-off-by: Lon Hohberger <lhh at redhat.com>
---
rgmanager/src/daemons/restree.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/rgmanager/src/daemons/restree.c b/rgmanager/src/daemons/restree.c
index 55cc146..9652c6e 100644
--- a/rgmanager/src/daemons/restree.c
+++ b/rgmanager/src/daemons/restree.c
@@ -1596,8 +1596,8 @@ _res_op_internal(resource_node_t __attribute__ ((unused)) **tree,
assert(node->rn_resource->r_incarnations >= 0);
if (node->rn_resource->r_incarnations > 0)
--node->rn_resource->r_incarnations;
- } else if (node->rn_state != RES_DISABLED &&
- !(node->rn_flags & RF_QUIESCE)) {
+ } else if (rv != 0 && (node->rn_state != RES_DISABLED &&
+ !(node->rn_flags & RF_QUIESCE))) {
node->rn_state = RES_FAILED;
pthread_mutex_unlock(&node->rn_resource->r_mutex);
return SFL_FAILURE;
More information about the cluster-commits
mailing list