summaryrefslogtreecommitdiff
path: root/source3/smbd/server.c
diff options
context:
space:
mode:
authorChristian Ambach <ambi@samba.org>2011-06-29 15:01:16 +0200
committerChristian Ambach <ambi@samba.org>2011-06-30 13:18:12 +0200
commit847ca0a5d791d881be8d9a0721bf30399c80013b (patch)
treebe55c5d2b99098823eb577c3d9309335ad4d3713 /source3/smbd/server.c
parentd2adf96402a0ee3454778c8ffee970720def66a7 (diff)
downloadsamba-847ca0a5d791d881be8d9a0721bf30399c80013b.tar.gz
samba-847ca0a5d791d881be8d9a0721bf30399c80013b.tar.bz2
samba-847ca0a5d791d881be8d9a0721bf30399c80013b.zip
s3:smbd do not panic when CTDB is unhealthy (Bug #8278)
when CTDB is unhealthy, log a message and exit cleanly instead of creating a core file Autobuild-User: Christian Ambach <ambi@samba.org> Autobuild-Date: Thu Jun 30 13:18:12 CEST 2011 on sn-devel-104
Diffstat (limited to 'source3/smbd/server.c')
-rw-r--r--source3/smbd/server.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/source3/smbd/server.c b/source3/smbd/server.c
index 5aa3ddbdc9..03d971b9b4 100644
--- a/source3/smbd/server.c
+++ b/source3/smbd/server.c
@@ -443,6 +443,15 @@ static void smbd_accept_connection(struct tevent_context *ev,
"because too many files are open\n"));
goto exit;
}
+ if (lp_clustering() &&
+ NT_STATUS_EQUAL(status,
+ NT_STATUS_INTERNAL_DB_ERROR)) {
+ DEBUG(1,("child process cannot initialize "
+ "because connection to CTDB "
+ "has failed\n"));
+ goto exit;
+ }
+
DEBUG(0,("reinit_after_fork() failed\n"));
smb_panic("reinit_after_fork() failed");
}