diff options
author | Ralph Boehme <slow@samba.org> | 2020-02-29 12:26:19 +0100 |
---|---|---|
committer | Karolin Seeger <kseeger@samba.org> | 2020-03-24 07:26:17 +0000 |
commit | 8a3a942b5204dbd1f740d7c29e911be796d07f80 (patch) | |
tree | d6a6018782e1b9573fb95e2cf10dc12433b44e9b | |
parent | 6528833ee7e994b9cac651a19b2dbddc90557f4a (diff) | |
download | samba-8a3a942b5204dbd1f740d7c29e911be796d07f80.tar.gz |
ctdb-daemon: ensure restart() callback is called in half-connected state
If NODE_FLAGS_DISCONNECTED is set the node can be in half-connected state. With
this change we ensure to restart the transport for this case.
BUG: https://bugzilla.samba.org/show_bug.cgi?id=14295
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Martin Schwenke <martin@meltin.net>
(cherry picked from commit 6a4fa0785fc83561939fa41617d526eb96c1af89)
-rw-r--r-- | ctdb/server/ctdb_server.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/ctdb/server/ctdb_server.c b/ctdb/server/ctdb_server.c index ddff85b81c5..02a5883cdbd 100644 --- a/ctdb/server/ctdb_server.c +++ b/ctdb/server/ctdb_server.c @@ -301,6 +301,12 @@ done: */ void ctdb_node_dead(struct ctdb_node *node) { + if (node->ctdb->methods == NULL) { + DEBUG(DEBUG_ERR,(__location__ " Can not restart transport while shutting down daemon.\n")); + return; + } + + node->ctdb->methods->restart(node); if (node->flags & NODE_FLAGS_DISCONNECTED) { DEBUG(DEBUG_INFO,("%s: node %s is already marked disconnected: %u connected\n", node->ctdb->name, node->name, @@ -315,13 +321,6 @@ void ctdb_node_dead(struct ctdb_node *node) DEBUG(DEBUG_ERR,("%s: node %s is dead: %u connected\n", node->ctdb->name, node->name, node->ctdb->num_connected)); ctdb_daemon_cancel_controls(node->ctdb, node); - - if (node->ctdb->methods == NULL) { - DEBUG(DEBUG_ERR,(__location__ " Can not restart transport while shutting down daemon.\n")); - return; - } - - node->ctdb->methods->restart(node); } /* |