Gitweb: http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commitdiff;h=d10... Commit: d100504de6eff5f83dba79319ad0bd560f7a57df Parent: c7187470032d2ab7c32a6a3ae43a358e1a99656b Author: Lon Hohberger lhh@redhat.com AuthorDate: Fri Sep 24 16:45:29 2010 -0400 Committer: Lon Hohberger lhh@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@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;
cluster-commits@lists.fedorahosted.org