From: Andrew Tridgell Date: Mon, 30 Apr 2007 13:54:06 +0000 (+0200) Subject: added attach command in ctdb_control X-Git-Tag: tevent-0.9.20~348^2~2806 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=bbf358cfcfac9025343ad415d0246ea90bf54a49;p=thirdparty%2Fsamba.git added attach command in ctdb_control (This used to be ctdb commit 172ee33306be2ef5ce17a5b9d7fbcc1f265a1b0b) --- diff --git a/ctdb/direct/ctdbd.sh b/ctdb/tests/ctdbd.sh similarity index 81% rename from ctdb/direct/ctdbd.sh rename to ctdb/tests/ctdbd.sh index 0d484795a38..1a719e2249d 100755 --- a/ctdb/direct/ctdbd.sh +++ b/ctdb/tests/ctdbd.sh @@ -23,8 +23,12 @@ bin/ctdb_control debuglevel || exit 1 echo "Testing map calls" bin/ctdb_control getvnnmap 0 || exit 1 -bin/ctdb_control getdbmap 0 || exit 1 -killall -q ctdbd +echo "Attaching to some databases" +bin/ctdb_control attach test1.tdb || exit 1 +bin/ctdb_control attach test2.tdb || exit 1 +echo "Testing getdbmap" +bin/ctdb_control getdbmap 0 || exit 1 +killall -q ctdbd diff --git a/ctdb/tests/run_tests.sh b/ctdb/tests/run_tests.sh index 3125ce8d947..aab6cdacfa4 100755 --- a/ctdb/tests/run_tests.sh +++ b/ctdb/tests/run_tests.sh @@ -3,7 +3,7 @@ tests/fetch.sh 4 || exit 1 tests/bench.sh 4 || exit 1 tests/test.sh || exit 1 -direct/ctdbd.sh || exit 1 +tests/ctdbd.sh || exit 1 echo "All OK" exit 0 diff --git a/ctdb/tools/ctdb_control.c b/ctdb/tools/ctdb_control.c index 2cb9fa5142a..fefa806472f 100644 --- a/ctdb/tools/ctdb_control.c +++ b/ctdb/tools/ctdb_control.c @@ -436,6 +436,28 @@ static int control_debug(struct ctdb_context *ctdb, int argc, const char **argv) return 0; } + +/* + attach to a database + */ +static int control_attach(struct ctdb_context *ctdb, int argc, const char **argv) +{ + const char *db_name; + struct ctdb_db_context *ctdb_db; + if (argc < 1) { + usage(); + } + db_name = argv[0]; + + ctdb_db = ctdb_attach(ctdb, db_name); + if (ctdb_db == NULL) { + DEBUG(0,("Unable to attach to database '%s'\n", db_name)); + return -1; + } + + return 0; +} + /* main program */ @@ -508,6 +530,8 @@ int main(int argc, const char *argv[]) ret = control_debug(ctdb, extra_argc-1, extra_argv+1); } else if (strcmp(control, "debuglevel") == 0) { ret = control_debuglevel(ctdb, extra_argc-1, extra_argv+1); + } else if (strcmp(control, "attach") == 0) { + ret = control_attach(ctdb, extra_argc-1, extra_argv+1); } else { printf("Unknown control '%s'\n", control); exit(1);