]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
added attach command in ctdb_control
authorAndrew Tridgell <tridge@samba.org>
Mon, 30 Apr 2007 13:54:06 +0000 (15:54 +0200)
committerAndrew Tridgell <tridge@samba.org>
Mon, 30 Apr 2007 13:54:06 +0000 (15:54 +0200)
(This used to be ctdb commit 172ee33306be2ef5ce17a5b9d7fbcc1f265a1b0b)

ctdb/tests/ctdbd.sh [moved from ctdb/direct/ctdbd.sh with 81% similarity]
ctdb/tests/run_tests.sh
ctdb/tools/ctdb_control.c

similarity index 81%
rename from ctdb/direct/ctdbd.sh
rename to ctdb/tests/ctdbd.sh
index 0d484795a38a7a6dc90e422010cabfa3dfd2ef8a..1a719e2249d27538fdc27fa9474c4e5dfec3cb23 100755 (executable)
@@ -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
index 3125ce8d94756dc73eabaab36c46833d8ffd513f..aab6cdacfa4daa51547c05bd847d5e629509f38e 100755 (executable)
@@ -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
index 2cb9fa5142a88538aa7556083acf030a4cd6ea87..fefa806472f5d664ff3f99ef148bd87263235c0b 100644 (file)
@@ -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);