------------------------------------------------------------
revno: 155
revision-id: [EMAIL PROTECTED]
parent: [EMAIL PROTECTED]
parent: [EMAIL PROTECTED]
committer: Andrew Tridgell <[EMAIL PROTECTED]>
branch nick: tridge
timestamp: Thu 2007-04-19 09:14:25 +1000
message:
  merged the db_dir changes from volker. Changed them slightly,
  to make the --dbdir option available to all ctdb tools, not just
  the daemon
modified:
  common/cmdline.c               cmdline.c-20070416041216-w1zvz91bkdsgjckw-1
  common/ctdb.c                  ctdb.c-20061127094323-t50f58d65iaao5of-2
  common/ctdb_ltdb.c             ctdb_ltdb.c-20061128065342-to93h6eejj5kon81-2
  include/ctdb.h                 ctdb.h-20061117234101-o3qt14umlg9en8z0-11
  include/ctdb_private.h         
ctdb_private.h-20061117234101-o3qt14umlg9en8z0-13
    ------------------------------------------------------------
    merged: [EMAIL PROTECTED]
    parent: [EMAIL PROTECTED]
    committer: Volker Lendecke <[EMAIL PROTECTED]>
    branch nick: vl-ctdb
    timestamp: Wed 2007-04-18 16:36:22 +0200
    message:
      Add --dbdir to ctdbd. Necessary for shared operation between ctdbd and 
smbd.
=== modified file 'common/cmdline.c'
--- a/common/cmdline.c  2007-04-17 12:16:50 +0000
+++ b/common/cmdline.c  2007-04-18 23:14:25 +0000
@@ -31,11 +31,13 @@
        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 = "."
 };
 
 
@@ -45,6 +47,7 @@
        { "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 }
 };
 
@@ -93,5 +96,11 @@
                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;
 }

=== modified file 'common/ctdb.c'
--- a/common/ctdb.c     2007-04-18 02:39:03 +0000
+++ b/common/ctdb.c     2007-04-18 23:14:25 +0000
@@ -74,6 +74,18 @@
 }
 
 /*
+  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
 */
 static int ctdb_add_node(struct ctdb_context *ctdb, char *nstr)

=== modified file 'common/ctdb_ltdb.c'
--- a/common/ctdb_ltdb.c        2007-04-18 05:27:26 +0000
+++ b/common/ctdb_ltdb.c        2007-04-18 14:36:22 +0000
@@ -84,7 +84,7 @@
 
        /* add the node id to the database name, so when we run on loopback
           we don't conflict in the local filesystem */
-       name = talloc_asprintf(ctdb_db, "%s.%u", name, ctdb_get_vnn(ctdb));
+       name = talloc_asprintf(ctdb_db, "%s/%s", ctdb->db_directory, name);
 
        /* when we have a separate daemon this will need to be a real
           file, not a TDB_INTERNAL, so the parent can access it to

=== modified file 'include/ctdb.h'
--- a/include/ctdb.h    2007-04-18 02:39:03 +0000
+++ b/include/ctdb.h    2007-04-18 23:14:25 +0000
@@ -72,6 +72,11 @@
 int ctdb_set_transport(struct ctdb_context *ctdb, const char *transport);
 
 /*
+  set the directory for the local databases
+*/
+int ctdb_set_tdb_dir(struct ctdb_context *ctdb, const char *dir);
+
+/*
   set some flags
 */
 void ctdb_set_flags(struct ctdb_context *ctdb, unsigned flags);

=== modified file 'include/ctdb_private.h'
--- a/include/ctdb_private.h    2007-04-18 08:43:34 +0000
+++ b/include/ctdb_private.h    2007-04-18 23:14:25 +0000
@@ -119,6 +119,7 @@
        struct event_context *ev;
        struct ctdb_address address;
        const char *name;
+       const char *db_directory;
        uint32_t vnn; /* our own vnn */
        uint32_t num_nodes;
        uint32_t num_connected;
@@ -460,4 +461,6 @@
                                                     struct ctdb_call *call, 
                                                     struct ctdb_ltdb_header 
*header);
 
+void ctdb_request_finished(struct ctdb_context *ctdb, struct ctdb_req_header 
*hdr);
+
 #endif

Reply via email to