------------------------------------------------------------ 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