From fbee5795ab69a35c5440eb5684e4ca807b08b1e3 Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Thu, 31 Jan 2013 11:15:09 +0100 Subject: smbd/winbindd: Do an early check if ctdbd is functional This will avoid panic calls when smbd and winbind is started in cluster mode before ctdb is functional. It still logs something sane at debug level 0, but it does not panic and core anymore. Signed-off-by: Volker Lendecke Reviewed-by: Michael Adam --- source3/winbindd/winbindd.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'source3/winbindd') diff --git a/source3/winbindd/winbindd.c b/source3/winbindd/winbindd.c index 31280c216b..b8b9c21170 100644 --- a/source3/winbindd/winbindd.c +++ b/source3/winbindd/winbindd.c @@ -37,6 +37,7 @@ #include "auth.h" #include "messages.h" #include "../lib/util/pidfile.h" +#include "ctdbd_conn.h" #undef DBGC_CLASS #define DBGC_CLASS DBGC_WINBIND @@ -1464,6 +1465,17 @@ int main(int argc, char **argv, char **envp) exit(1); } + if (lp_clustering()) { + NTSTATUS status; + + status = ctdbd_probe(); + if (!NT_STATUS_IS_OK(status)) { + DEBUG(0, ("clustering=yes but ctdbd connect failed: " + "%s\n", nt_errstr(status))); + exit(1); + } + } + /* Initialise messaging system */ if (winbind_messaging_context() == NULL) { -- cgit