From 19fbc2da383245522a58a222c1bca75d4ad98c8e Mon Sep 17 00:00:00 2001 From: Martin Schwenke Date: Wed, 29 Jul 2020 12:15:03 +1000 Subject: [PATCH] ctdb-recoverd: Add pnn field to banning state structure This structure is now standalone, so indexing by PNN can be avoided via a subsequent commit. Index by culprit here to make this commit simple. Signed-off-by: Martin Schwenke Reviewed-by: Amitay Isaacs --- ctdb/server/ctdb_recoverd.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/ctdb/server/ctdb_recoverd.c b/ctdb/server/ctdb_recoverd.c index 9c52fdf6029..e2006f5d828 100644 --- a/ctdb/server/ctdb_recoverd.c +++ b/ctdb/server/ctdb_recoverd.c @@ -237,6 +237,7 @@ static int ctdb_op_disable(struct ctdb_op_state *state, } struct ctdb_banning_state { + uint32_t pnn; uint32_t count; struct timeval last_reported_time; }; @@ -360,8 +361,7 @@ static void ctdb_set_culprit_count(struct ctdb_recoverd *rec, uint32_t culprit, if (ctdb->nodes[culprit]->ban_state == NULL) { ctdb->nodes[culprit]->ban_state = talloc_zero(ctdb->nodes[culprit], struct ctdb_banning_state); CTDB_NO_MEMORY_VOID(ctdb, ctdb->nodes[culprit]->ban_state); - - + ctdb->nodes[culprit]->ban_state->pnn = culprit; } ban_state = ctdb->nodes[culprit]->ban_state; if (timeval_elapsed(&ban_state->last_reported_time) > ctdb->tunable.recovery_grace_period) { @@ -963,13 +963,13 @@ static void ban_misbehaving_nodes(struct ctdb_recoverd *rec, bool *self_ban) } D_NOTICE("Node %u reached %u banning credits\n", - ctdb->nodes[i]->pnn, + ban_state->pnn, ban_state->count); - ctdb_ban_node(rec, ctdb->nodes[i]->pnn); + ctdb_ban_node(rec, ban_state->pnn); ban_state->count = 0; /* Banning ourself? */ - if (ctdb->nodes[i]->pnn == rec->pnn) { + if (ban_state->pnn == rec->pnn) { *self_ban = true; } } -- 2.11.4.GIT