]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
added --dblist option to ctdbd, to allow list of databases to be specified on the...
authorAndrew Tridgell <tridge@samba.org>
Sun, 15 Apr 2007 23:29:10 +0000 (09:29 +1000)
committerAndrew Tridgell <tridge@samba.org>
Sun, 15 Apr 2007 23:29:10 +0000 (09:29 +1000)
(This used to be ctdb commit a19df59e9c2ea24d92a483f8a44514f492d49601)

ctdb/direct/ctdbd.c

index be687640908d7cba2433cc6c9b856e7295d8555b..700416e5e95fa9f2d73c387aed8da23febe0c261 100644 (file)
@@ -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 */