const char *transport;
const char *myaddress;
int self_connect;
++ const char *db_dir;
} ctdb_cmdline = {
.nlist = NULL,
.transport = "tcp",
.myaddress = NULL,
.self_connect = 0,
++ .db_dir = "."
};
{ "transport", 0, POPT_ARG_STRING, &ctdb_cmdline.transport, 0, "protocol transport", NULL },
{ "self-connect", 0, POPT_ARG_NONE, &ctdb_cmdline.self_connect, 0, "enable self connect", "boolean" },
{ "debug", 'd', POPT_ARG_INT, &LogLevel, 0, "debug level"},
++ { "dbdir", 0, POPT_ARG_STRING, &ctdb_cmdline.db_dir, 0, "directory for the tdb files", NULL },
{ NULL }
};
exit(1);
}
++ ret = ctdb_set_tdb_dir(ctdb, ctdb_cmdline.db_dir);
++ if (ret == -1) {
++ printf("ctdb_set_tdb_dir failed - %s\n", ctdb_errstr(ctdb));
++ exit(1);
++ }
++
return ctdb;
}
ctdb->max_lacount = count;
}
-void ctdb_set_tdb_dir(struct ctdb_context *ctdb, const char *dir)
+ /*
+ set the directory for the local databases
+ */
++int ctdb_set_tdb_dir(struct ctdb_context *ctdb, const char *dir)
+ {
+ ctdb->db_directory = talloc_strdup(ctdb, dir);
++ if (ctdb->db_directory == NULL) {
++ return -1;
++ }
++ return 0;
+ }
+
/*
add a node to the list of active nodes
*/
*/
int ctdb_set_transport(struct ctdb_context *ctdb, const char *transport);
-void ctdb_set_tdb_dir(struct ctdb_context *ctdb, const char *dir);
+ /*
+ set the directory for the local databases
+ */
++int ctdb_set_tdb_dir(struct ctdb_context *ctdb, const char *dir);
+
/*
set some flags
*/