]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
add config option for disabling bans
authorAndrew Tridgell <tridge@samba.org>
Mon, 15 Oct 2007 03:22:58 +0000 (13:22 +1000)
committerAndrew Tridgell <tridge@samba.org>
Mon, 15 Oct 2007 03:22:58 +0000 (13:22 +1000)
(This used to be ctdb commit 153b911f7f957d4c564b04f5aa878033a02da9e4)

ctdb/include/ctdb_private.h
ctdb/server/ctdb_recoverd.c
ctdb/server/ctdb_tunables.c

index ea5efabbcd9911639f4465355fb54885c4517b9c..5d361ed7d4dfeb5d04eccff77401fa3990685ed9 100644 (file)
@@ -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;
 };
 
 /*
index 44e4d83e211ce78fbf00ddfd6f47b3cd6ed28c7d..bfc9c167a215522f372d0e8bf4519d081fc986c3 100644 (file)
@@ -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 */
index 47c6314fd73e885e2a05d28291972dbc88fac378..7c5aac980070bd7c4910cd7ee54f00e5ec7451fb 100644 (file)
@@ -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) },
 };
 
 /*