[SCM] CTDB repository - branch 1.13 updated - ctdb-1.13-15-g77db0a8
Ronnie Sahlberg
sahlberg at samba.org
Wed Mar 21 16:33:58 MDT 2012
The branch, 1.13 has been updated
via 77db0a8e48b2693c50bcb59ad72ab5d603723135 (commit)
from ae86409ded3a242dd2f7452287ebdb55e006b055 (commit)
http://gitweb.samba.org/?p=ctdb.git;a=shortlog;h=1.13
- Log -----------------------------------------------------------------
commit 77db0a8e48b2693c50bcb59ad72ab5d603723135
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Thu Mar 22 09:22:35 2012 +1100
NoIPFailback: Exclude nodes which have NoIPFailback as failback targets during reallocation
-----------------------------------------------------------------------
Summary of changes:
server/ctdb_takeover.c | 22 ++++++++++++++++++++++
1 files changed, 22 insertions(+), 0 deletions(-)
Changeset truncated at 500 lines:
diff --git a/server/ctdb_takeover.c b/server/ctdb_takeover.c
index dba375b..0ed5132 100644
--- a/server/ctdb_takeover.c
+++ b/server/ctdb_takeover.c
@@ -1175,6 +1175,12 @@ static int find_takeover_node(struct ctdb_context *ctdb,
pnn = -1;
for (i=0;i<nodemap->num;i++) {
+ if (nodemap->nodes[i].flags & NODE_FLAGS_NOIPFAILBACK) {
+ /* This node is not allowed to takeover any addresses
+ */
+ continue;
+ }
+
if (nodemap->nodes[i].flags & mask) {
/* This node is not healty and can not be used to serve
a public address
@@ -1465,6 +1471,11 @@ static bool basic_failback(struct ctdb_context *ctdb,
continue;
}
+ /* Only check nodes that are allowed to takeover an ip */
+ if (nodemap->nodes[i].flags & NODE_FLAGS_NOIPFAILBACK) {
+ continue;
+ }
+
/* only check nodes that can actually serve this ip */
if (can_node_serve_ip(ctdb, i, tmp_ip)) {
/* no it couldnt so skip to the next node */
@@ -1640,6 +1651,11 @@ static void lcp2_allocate_unassigned(struct ctdb_context *ctdb,
}
for (dstnode=0; dstnode < nodemap->num; dstnode++) {
+ /* Only check nodes that are allowed to takeover an ip */
+ if (nodemap->nodes[dstnode].flags & NODE_FLAGS_NOIPFAILBACK) {
+ continue;
+ }
+
/* only check nodes that can actually serve this ip */
if (can_node_serve_ip(ctdb, dstnode, tmp_ip)) {
/* no it couldnt so skip to the next node */
@@ -1748,6 +1764,12 @@ static bool lcp2_failback_candidate(struct ctdb_context *ctdb,
if (! newly_healthy[dstnode]) {
continue;
}
+
+ /* Only check nodes that are allowed to takeover an ip */
+ if (nodemap->nodes[dstnode].flags & NODE_FLAGS_NOIPFAILBACK) {
+ continue;
+ }
+
/* only check nodes that can actually serve this ip */
if (can_node_serve_ip(ctdb, dstnode, tmp_ip)) {
/* no it couldnt so skip to the next node */
--
CTDB repository
More information about the samba-cvs
mailing list