diff options
author | Martin Schwenke <martin@meltin.net> | 2019-08-19 21:48:04 +1000 |
---|---|---|
committer | Karolin Seeger <kseeger@samba.org> | 2019-08-28 12:04:13 +0000 |
commit | fcf29cda0e72074258b3e2023cfe16d5d821de68 (patch) | |
tree | d79c6694a1bb29967597d390b66ad35212c67c84 /ctdb | |
parent | fa705bc7deedd632488a11df4572f43da2d0d7a2 (diff) | |
download | samba-fcf29cda0e72074258b3e2023cfe16d5d821de68.tar.gz |
ctdb-daemon: Make node inactive in the NODE_STOP control
Currently some of this is supported by a periodic check in the
recovery daemon's main_loop(), which notices the flag change, sets
recovery mode active and freezes databases. If STOP_NODE returns
immediately then the associated recovery can complete and the node can
be continued before databases are actually frozen.
Instead, immediately do all of the things that make a node inactive.
BUG: https://bugzilla.samba.org/show_bug.cgi?id=14087
RN: Stop "ctdb stop" from completing before freezing databases
Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Amitay Isaacs <amitay@gmail.com>
Autobuild-User(master): Amitay Isaacs <amitay@samba.org>
Autobuild-Date(master): Tue Aug 20 08:32:27 UTC 2019 on sn-devel-184
(cherry picked from commit e9f2e205ee89f4f3d6302cc11b4d0eb2efaf0f53)
Autobuild-User(v4-9-test): Karolin Seeger <kseeger@samba.org>
Autobuild-Date(v4-9-test): Wed Aug 28 12:04:13 UTC 2019 on sn-devel-144
Diffstat (limited to 'ctdb')
-rw-r--r-- | ctdb/server/ctdb_recover.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/ctdb/server/ctdb_recover.c b/ctdb/server/ctdb_recover.c index 800efa2b17d..b9646eb4808 100644 --- a/ctdb/server/ctdb_recover.c +++ b/ctdb/server/ctdb_recover.c @@ -1464,6 +1464,8 @@ int32_t ctdb_control_stop_node(struct ctdb_context *ctdb) DEBUG(DEBUG_ERR, ("Stopping node\n")); ctdb->nodes[ctdb->pnn]->flags |= NODE_FLAGS_STOPPED; + ctdb_node_become_inactive(ctdb); + return 0; } |