]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
ctdb-recoverd: Drop use of DeferredRebalanceOnNodeAdd tunable
authorMartin Schwenke <martin@meltin.net>
Tue, 8 Mar 2016 05:36:04 +0000 (16:36 +1100)
committerAmitay Isaacs <amitay@samba.org>
Thu, 10 Mar 2016 02:34:19 +0000 (03:34 +0100)
If set, this was used to setup an IP takeover run on a timer after
certain updates to the public IP address configuration (e.g. "ctdb
addip").

However, "ctdb reloadips" completely manages public IP reconfiguration
and avoids the anomalies that DeferredRebalanceOnNodeAdd was
introduced to work around.

Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Amitay Isaacs <amitay@gmail.com>
ctdb/server/ctdb_recoverd.c

index e42433de473f09907d2c7716bc7707d2438da561..680ce7774b673d4226cde7acb55982ae83c5ccf0 100644 (file)
@@ -2425,24 +2425,6 @@ static void reload_nodes_handler(uint64_t srvid, TDB_DATA data,
 }
 
 
-static void ctdb_rebalance_timeout(struct tevent_context *ev,
-                                  struct tevent_timer *te,
-                                  struct timeval t, void *p)
-{
-       struct ctdb_recoverd *rec = talloc_get_type(p, struct ctdb_recoverd);
-
-       if (rec->force_rebalance_nodes == NULL) {
-               DEBUG(DEBUG_ERR,
-                     ("Rebalance timeout occurred - no nodes to rebalance\n"));
-               return;
-       }
-
-       DEBUG(DEBUG_NOTICE,
-             ("Rebalance timeout occurred - trigger takeover run\n"));
-       rec->need_takeover_run = true;
-}
-
-
 static void recd_node_rebalance_handler(uint64_t srvid, TDB_DATA data,
                                        void *private_data)
 {
@@ -2452,7 +2434,6 @@ static void recd_node_rebalance_handler(uint64_t srvid, TDB_DATA data,
        uint32_t pnn;
        uint32_t *t;
        int len;
-       uint32_t deferred_rebalance;
 
        if (rec->recmaster != ctdb_get_pnn(ctdb)) {
                return;
@@ -2491,19 +2472,6 @@ static void recd_node_rebalance_handler(uint64_t srvid, TDB_DATA data,
        talloc_free(rec->force_rebalance_nodes);
 
        rec->force_rebalance_nodes = t;
-
-       /* If configured, setup a deferred takeover run to make sure
-        * that certain nodes get IPs rebalanced to them.  This will
-        * be cancelled if a successful takeover run happens before
-        * the timeout.  Assign tunable value to variable for
-        * readability.
-        */
-       deferred_rebalance = ctdb->tunable.deferred_rebalance_on_node_add;
-       if (deferred_rebalance != 0) {
-               tevent_add_timer(ctdb->ev, rec->force_rebalance_nodes,
-                                timeval_current_ofs(deferred_rebalance, 0),
-                                ctdb_rebalance_timeout, rec);
-       }
 }