summaryrefslogtreecommitdiff
path: root/ctdb
diff options
context:
space:
mode:
authorMartin Schwenke <martin@meltin.net>2019-01-10 14:01:57 +1100
committerAmitay Isaacs <amitay@samba.org>2019-02-25 02:12:17 +0100
commit45a77d65b2e39b4af94da4ab99575f4ee08a7ebd (patch)
tree1e7a38df98076053abd5a269c3b9748b05f24871 /ctdb
parentc0fb62ed3954fc6e8667480aba92003fc270f257 (diff)
downloadsamba-45a77d65b2e39b4af94da4ab99575f4ee08a7ebd.tar.gz
ctdb-recoverd: Ban node on unknown error when taking recovery lock
We really shouldn't see unknown errors. They probably represent a misconfigured recovery lock or similar. BUG: https://bugzilla.samba.org/show_bug.cgi?id=13800 Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Amitay Isaacs <amitay@gmail.com>
Diffstat (limited to 'ctdb')
-rw-r--r--ctdb/server/ctdb_recoverd.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/ctdb/server/ctdb_recoverd.c b/ctdb/server/ctdb_recoverd.c
index c3beac7d18b..584d65d61a7 100644
--- a/ctdb/server/ctdb_recoverd.c
+++ b/ctdb/server/ctdb_recoverd.c
@@ -923,6 +923,17 @@ static void take_reclock_handler(char status,
default:
D_ERR("Unable to take recover lock - unknown error\n");
+
+ {
+ struct ctdb_recoverd *rec = s->rec;
+ struct ctdb_context *ctdb = rec->ctdb;
+ uint32_t pnn = ctdb_get_pnn(ctdb);
+
+ D_ERR("Banning this node\n");
+ ctdb_ban_node(rec,
+ pnn,
+ ctdb->tunable.recovery_ban_period);
+ }
}
s->done = true;