From f518865e97722737b988e6e56ac72a04cdcd7464 Mon Sep 17 00:00:00 2001 From: Martin Schwenke Date: Tue, 21 Aug 2018 11:30:39 +1000 Subject: [PATCH] ctdb-failover: Add failover configuration options Only a "disabled" option for now. Not documented because it isn't used yet. BUG: https://bugzilla.samba.org/show_bug.cgi?id=13589 Signed-off-by: Martin Schwenke Reviewed-by: Amitay Isaacs (cherry picked from commit 893dd623dfdec4d5c5da07f933069e4534fe58ae) --- ctdb/failover/failover_conf.c | 53 +++++++++++++++++++++++++++++++++++++++++++ ctdb/failover/failover_conf.h | 31 +++++++++++++++++++++++++ ctdb/wscript | 4 ++++ 3 files changed, 88 insertions(+) create mode 100644 ctdb/failover/failover_conf.c create mode 100644 ctdb/failover/failover_conf.h diff --git a/ctdb/failover/failover_conf.c b/ctdb/failover/failover_conf.c new file mode 100644 index 00000000000..0f199cbcd6c --- /dev/null +++ b/ctdb/failover/failover_conf.c @@ -0,0 +1,53 @@ +/* + CTDB database config handling + + Copyright (C) Martin Schwenke 2018 + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, see . +*/ + +#include "replace.h" + +#include "lib/util/debug.h" + +#include "common/conf.h" + +#include "failover/failover_conf.h" + +static bool check_static_boolean_change(const char *key, + bool old_value, + bool new_value, + enum conf_update_mode mode) +{ + if (mode == CONF_MODE_RELOAD || CONF_MODE_API) { + if (old_value != new_value) { + D_WARNING("Ignoring update of [%s] -> %s\n", + FAILOVER_CONF_SECTION, + key); + } + } + + return true; +} + +void failover_conf_init(struct conf_context *conf) +{ + conf_define_section(conf, FAILOVER_CONF_SECTION, NULL); + + conf_define_boolean(conf, + FAILOVER_CONF_SECTION, + FAILOVER_CONF_DISABLED, + false, + check_static_boolean_change); +} diff --git a/ctdb/failover/failover_conf.h b/ctdb/failover/failover_conf.h new file mode 100644 index 00000000000..d154daa3428 --- /dev/null +++ b/ctdb/failover/failover_conf.h @@ -0,0 +1,31 @@ +/* + CTDB failover config handling + + Copyright (C) Martin Schwenke 2018 + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, see . +*/ + +#ifndef __CTDB_FAILOVER_CONF_H__ +#define __CTDB_FAILOVER_CONF_H__ + +#include "common/conf.h" + +#define FAILOVER_CONF_SECTION "failover" + +#define FAILOVER_CONF_DISABLED "disabled" + +void failover_conf_init(struct conf_context *conf); + +#endif /* __CTDB_FAILOVER_CONF_H__ */ diff --git a/ctdb/wscript b/ctdb/wscript index addf8ece173..ab513ec57f5 100644 --- a/ctdb/wscript +++ b/ctdb/wscript @@ -496,6 +496,10 @@ def build(bld): source='event/event_conf.c', deps='ctdb-util') + bld.SAMBA_SUBSYSTEM('ctdb-failover-conf', + source='failover/failover_conf.c', + deps='ctdb-util') + bld.SAMBA_SUBSYSTEM('ctdb-legacy-conf', source='server/legacy_conf.c', deps='ctdb-util') -- 2.11.4.GIT