From 63577c96db3877417030f441268b3ec79bb82c2a Mon Sep 17 00:00:00 2001 From: Martin Schwenke Date: Thu, 10 Jan 2013 16:06:25 +1100 Subject: ctdbd: Replace ctdb->done_startup with ctdb->runstate This allows states, including startup and shutdown states, to be clearly tracked. This doesn't include regular runtime "states", which are handled by node flags. Introduce new functions ctdb_set_runstate(), runstate_to_string() and runstate_from_string(). Signed-off-by: Martin Schwenke Pair-programmed-with: Amitay Isaacs (This used to be ctdb commit 8076773a9924dcf8aff16f7d96b2b9ac383ecc28) --- ctdb/include/ctdb_private.h | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'ctdb/include/ctdb_private.h') diff --git a/ctdb/include/ctdb_private.h b/ctdb/include/ctdb_private.h index c47210e1f0a..2698785f0be 100644 --- a/ctdb/include/ctdb_private.h +++ b/ctdb/include/ctdb_private.h @@ -436,6 +436,19 @@ struct ctdb_write_record { enum ctdb_freeze_mode {CTDB_FREEZE_NONE, CTDB_FREEZE_PENDING, CTDB_FREEZE_FROZEN}; +enum ctdb_runstate { + CTDB_RUNSTATE_UNKNOWN, + CTDB_RUNSTATE_INIT, + CTDB_RUNSTATE_SETUP, + CTDB_RUNSTATE_STARTUP, + CTDB_RUNSTATE_RUNNING, + CTDB_RUNSTATE_SHUTDOWN, +}; + +const char *runstate_to_string(enum ctdb_runstate runstate); +enum ctdb_runstate runstate_from_string(const char *label); +void ctdb_set_runstate(struct ctdb_context *ctdb, enum ctdb_runstate runstate); + #define CTDB_MONITORING_ACTIVE 0 #define CTDB_MONITORING_DISABLED 1 @@ -505,7 +518,7 @@ struct ctdb_context { pid_t ctdbd_pid; pid_t recoverd_pid; pid_t syslogd_pid; - bool done_startup; + enum ctdb_runstate runstate; struct ctdb_monitor_state *monitor; struct ctdb_log_state *log; int start_as_disabled; -- cgit