From 5f592876d18f3aa4ea9b5b7b9410f083b45a82a7 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Mon, 16 Apr 2007 09:29:10 +1000 Subject: [PATCH] added --dblist option to ctdbd, to allow list of databases to be specified on the command line (This used to be ctdb commit a19df59e9c2ea24d92a483f8a44514f492d49601) --- ctdb/direct/ctdbd.c | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/ctdb/direct/ctdbd.c b/ctdb/direct/ctdbd.c index be687640908..700416e5e95 100644 --- a/ctdb/direct/ctdbd.c +++ b/ctdb/direct/ctdbd.c @@ -43,12 +43,13 @@ static void block_signal(int signum) int main(int argc, const char *argv[]) { struct ctdb_context *ctdb; - struct ctdb_db_context *ctdb_db; const char *nlist = NULL; const char *transport = "tcp"; const char *myaddress = NULL; int self_connect=0; int daemon_mode=0; + const char *db_list = "test.tdb"; + char *s, *tok; struct poptOption popt_options[] = { POPT_AUTOHELP @@ -57,6 +58,7 @@ int main(int argc, const char *argv[]) { "transport", 0, POPT_ARG_STRING, &transport, 0, "protocol transport", NULL }, { "self-connect", 0, POPT_ARG_NONE, &self_connect, 0, "enable self connect", "boolean" }, { "daemon", 0, POPT_ARG_NONE, &daemon_mode, 0, "spawn a ctdb daemon", "boolean" }, + { "dblist", 0, POPT_ARG_STRING, &db_list, 0, "list of databases", NULL }, POPT_TABLEEND }; int opt; @@ -127,11 +129,18 @@ int main(int argc, const char *argv[]) exit(1); } - /* attach to a specific database */ - ctdb_db = ctdb_attach(ctdb, "test.tdb", TDB_DEFAULT, O_RDWR|O_CREAT|O_TRUNC, 0666); - if (!ctdb_db) { - printf("ctdb_attach failed - %s\n", ctdb_errstr(ctdb)); - exit(1); + /* attach to the list of databases */ + s = talloc_strdup(ctdb, db_list); + for (tok=strtok(s, ", "); tok; tok=strtok(NULL, ", ")) { + struct ctdb_db_context *ctdb_db; + ctdb_db = ctdb_attach(ctdb, tok, TDB_DEFAULT, + O_RDWR|O_CREAT|O_TRUNC, 0666); + if (!ctdb_db) { + printf("ctdb_attach to '%s'failed - %s\n", tok, + ctdb_errstr(ctdb)); + exit(1); + } + printf("Attached to database '%s'\n", tok); } /* start the protocol running */ -- 2.47.3