From 174879621ed41deca87d5518c8b59897e6206156 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Mon, 15 Oct 2007 13:22:58 +1000 Subject: [PATCH] add config option for disabling bans (This used to be ctdb commit 153b911f7f957d4c564b04f5aa878033a02da9e4) --- ctdb/include/ctdb_private.h | 1 + ctdb/server/ctdb_recoverd.c | 7 ++++++- ctdb/server/ctdb_tunables.c | 1 + 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/ctdb/include/ctdb_private.h b/ctdb/include/ctdb_private.h index ea5efabbcd9..5d361ed7d4d 100644 --- a/ctdb/include/ctdb_private.h +++ b/ctdb/include/ctdb_private.h @@ -87,6 +87,7 @@ struct ctdb_tunable { uint32_t recovery_ban_period; uint32_t database_hash_size; uint32_t rerecovery_timeout; + uint32_t enable_bans; }; /* diff --git a/ctdb/server/ctdb_recoverd.c b/ctdb/server/ctdb_recoverd.c index 44e4d83e211..bfc9c167a21 100644 --- a/ctdb/server/ctdb_recoverd.c +++ b/ctdb/server/ctdb_recoverd.c @@ -59,7 +59,7 @@ static void ctdb_unban_node(struct ctdb_recoverd *rec, uint32_t pnn) struct ctdb_context *ctdb = rec->ctdb; if (!ctdb_validate_pnn(ctdb, pnn)) { - DEBUG(0,("Bad pnn %u in ctdb_ban_node\n", pnn)); + DEBUG(0,("Bad pnn %u in ctdb_unban_node\n", pnn)); return; } @@ -99,6 +99,11 @@ static void ctdb_ban_node(struct ctdb_recoverd *rec, uint32_t pnn, uint32_t ban_ return; } + if (0 == ctdb->tunable.enable_bans) { + DEBUG(0,("Bans are disabled - ignoring ban of node %u\n", pnn)); + return; + } + if (pnn == ctdb->pnn) { DEBUG(0,("self ban - lowering our election priority\n")); /* banning ourselves - lower our election priority */ diff --git a/ctdb/server/ctdb_tunables.c b/ctdb/server/ctdb_tunables.c index 47c6314fd73..7c5aac98007 100644 --- a/ctdb/server/ctdb_tunables.c +++ b/ctdb/server/ctdb_tunables.c @@ -43,6 +43,7 @@ static const struct { { "RecoveryBanPeriod", 300, offsetof(struct ctdb_tunable, recovery_ban_period) }, { "DatabaseHashSize", 10000, offsetof(struct ctdb_tunable, database_hash_size) }, { "RerecoveryTimeout", 10, offsetof(struct ctdb_tunable, rerecovery_timeout) }, + { "EnableBans", 1, offsetof(struct ctdb_tunable, enable_bans) }, }; /* -- 2.47.3