summaryrefslogtreecommitdiff
path: root/source3/winbindd/winbindd.c
diff options
context:
space:
mode:
authorVolker Lendecke <vl@samba.org>2013-01-31 11:15:09 +0100
committerMichael Adam <obnox@samba.org>2013-10-17 23:20:45 +0200
commitfbee5795ab69a35c5440eb5684e4ca807b08b1e3 (patch)
tree7f02f1e07942399c14bc4084fe645f844c83cb47 /source3/winbindd/winbindd.c
parent20d3f308e294c0ec616fa07570d9ba9254163d8f (diff)
downloadsamba-fbee5795ab69a35c5440eb5684e4ca807b08b1e3.tar.gz
samba-fbee5795ab69a35c5440eb5684e4ca807b08b1e3.tar.bz2
samba-fbee5795ab69a35c5440eb5684e4ca807b08b1e3.zip
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 <vl@samba.org> Reviewed-by: Michael Adam <obnox@samba.org>
Diffstat (limited to 'source3/winbindd/winbindd.c')
-rw-r--r--source3/winbindd/winbindd.c12
1 files changed, 12 insertions, 0 deletions
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) {