summaryrefslogtreecommitdiff
path: root/ctdb/server
diff options
context:
space:
mode:
authorMartin Schwenke <martin@meltin.net>2018-11-30 12:44:26 +1100
committerAmitay Isaacs <amitay@samba.org>2018-12-03 06:56:41 +0100
commitdd7574afd1b2fb6a88defa154bc3d15e94f9ce0d (patch)
tree1ee68ebca56beb5d408fd8fa3ecbe2b19e495935 /ctdb/server
parent46a6c6ff6d2fc68e313bcb2cd2c65b5a6e7c1782 (diff)
downloadsamba-dd7574afd1b2fb6a88defa154bc3d15e94f9ce0d.tar.gz
ctdb-daemon: Exit with error if a database directory does not exist
Since 4.9.0, the log messages can be confusing if a required database directory does not exist. Explicitly check for database directories, logging a clear error and exiting if one is missing. BUG: https://bugzilla.samba.org/show_bug.cgi?id=13696 Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Amitay Isaacs <amitay@gmail.com> Autobuild-User(master): Amitay Isaacs <amitay@samba.org> Autobuild-Date(master): Mon Dec 3 06:56:41 CET 2018 on sn-devel-144
Diffstat (limited to 'ctdb/server')
-rw-r--r--ctdb/server/ctdbd.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/ctdb/server/ctdbd.c b/ctdb/server/ctdbd.c
index a2870d0d111..7e71d6e8272 100644
--- a/ctdb/server/ctdbd.c
+++ b/ctdb/server/ctdbd.c
@@ -311,8 +311,28 @@ int main(int argc, const char *argv[])
*/
ctdb->db_directory = ctdb_config.dbdir_volatile;
+ ok = directory_exist(ctdb->db_directory);
+ if (! ok) {
+ D_ERR("Volatile database directory %s does not exist\n",
+ ctdb->db_directory);
+ goto fail;
+ }
+
ctdb->db_directory_persistent = ctdb_config.dbdir_persistent;
+ ok = directory_exist(ctdb->db_directory_persistent);
+ if (! ok) {
+ D_ERR("Persistent database directory %s does not exist\n",
+ ctdb->db_directory_persistent);
+ goto fail;
+ }
+
ctdb->db_directory_state = ctdb_config.dbdir_state;
+ ok = directory_exist(ctdb->db_directory_state);
+ if (! ok) {
+ D_ERR("State database directory %s does not exist\n",
+ ctdb->db_directory_state);
+ goto fail;
+ }
if (ctdb_config.lock_debug_script != NULL) {
ret = setenv("CTDB_DEBUG_LOCKS",