summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Disseldorp <ddiss@suse.de>2011-08-08 14:09:46 +0200
committerDavid Disseldorp <ddiss@suse.de>2011-09-06 13:56:54 +0200
commit0628d1c0e698e754bada494312a64b2dad65f25c (patch)
tree76fefa0742e930f047d72627eb66943262166fb5
parent2e5b0f1eb27fddfb5cdd0a705ad0057eb5f29292 (diff)
downloadsamba-0628d1c0e698e754bada494312a64b2dad65f25c.tar.gz
samba-0628d1c0e698e754bada494312a64b2dad65f25c.tar.xz
samba-0628d1c0e698e754bada494312a64b2dad65f25c.zip
client: add req timeout argument to ctdb_cmdline_client
Following connection to the local ctdbd, ctdb_cmdline_client() currently issues a CTDB_CONTROL_GET_PNN request with a fixed 3 second timeout. The ctdb cmd line client accepts a --timelimit argument for specifying a per request timeout, pass this value through to ctdb_cmdline_client() for use as a CTDB_CONTROL_GET_PNN request timeout. (This used to be ctdb commit 0634d0305f42f17048b6830733767e8dc300e11c)
-rw-r--r--ctdb/common/cmdline.c5
-rw-r--r--ctdb/include/ctdb_client.h3
-rw-r--r--ctdb/tests/src/ctdb_bench.c2
-rw-r--r--ctdb/tests/src/ctdb_fetch.c2
-rw-r--r--ctdb/tests/src/ctdb_fetch_one.c2
-rw-r--r--ctdb/tests/src/ctdb_persistent.c2
-rw-r--r--ctdb/tests/src/ctdb_randrec.c2
-rw-r--r--ctdb/tests/src/ctdb_store.c2
-rw-r--r--ctdb/tests/src/ctdb_transaction.c2
-rw-r--r--ctdb/tests/src/ctdb_traverse.c2
-rw-r--r--ctdb/tools/ctdb.c2
11 files changed, 14 insertions, 12 deletions
diff --git a/ctdb/common/cmdline.c b/ctdb/common/cmdline.c
index 145a13a81b..5c00763ed7 100644
--- a/ctdb/common/cmdline.c
+++ b/ctdb/common/cmdline.c
@@ -111,7 +111,8 @@ struct ctdb_context *ctdb_cmdline_init(struct event_context *ev)
/*
startup a client only ctdb context
*/
-struct ctdb_context *ctdb_cmdline_client(struct event_context *ev)
+struct ctdb_context *ctdb_cmdline_client(struct tevent_context *ev,
+ struct timeval req_timeout)
{
struct ctdb_context *ctdb;
char *socket_name;
@@ -152,7 +153,7 @@ struct ctdb_context *ctdb_cmdline_client(struct event_context *ev)
}
/* get our pnn */
- ctdb->pnn = ctdb_ctrl_getpnn(ctdb, timeval_current_ofs(3, 0), CTDB_CURRENT_NODE);
+ ctdb->pnn = ctdb_ctrl_getpnn(ctdb, req_timeout, CTDB_CURRENT_NODE);
if (ctdb->pnn == (uint32_t)-1) {
DEBUG(DEBUG_CRIT,(__location__ " Failed to get ctdb pnn\n"));
talloc_free(ctdb);
diff --git a/ctdb/include/ctdb_client.h b/ctdb/include/ctdb_client.h
index 3dc115f0cc..baa720dea4 100644
--- a/ctdb/include/ctdb_client.h
+++ b/ctdb/include/ctdb_client.h
@@ -188,7 +188,8 @@ int ctdb_register_message_handler(struct ctdb_context *ctdb,
struct ctdb_db_context *find_ctdb_db(struct ctdb_context *ctdb, uint32_t id);
-struct ctdb_context *ctdb_cmdline_client(struct tevent_context *ev);
+struct ctdb_context *ctdb_cmdline_client(struct tevent_context *ev,
+ struct timeval req_timeout);
struct ctdb_statistics;
int ctdb_ctrl_statistics(struct ctdb_context *ctdb, uint32_t destnode, struct ctdb_statistics *status);
diff --git a/ctdb/tests/src/ctdb_bench.c b/ctdb/tests/src/ctdb_bench.c
index 6d812237ec..cdd176ac84 100644
--- a/ctdb/tests/src/ctdb_bench.c
+++ b/ctdb/tests/src/ctdb_bench.c
@@ -222,7 +222,7 @@ int main(int argc, const char *argv[])
ev = event_context_init(NULL);
/* initialise ctdb */
- ctdb = ctdb_cmdline_client(ev);
+ ctdb = ctdb_cmdline_client(ev, timeval_current_ofs(3, 0));
/* attach to a specific database */
ctdb_db = ctdb_attach(ctdb, "test.tdb", false, 0);
diff --git a/ctdb/tests/src/ctdb_fetch.c b/ctdb/tests/src/ctdb_fetch.c
index a8f38eeea3..b97e2ef023 100644
--- a/ctdb/tests/src/ctdb_fetch.c
+++ b/ctdb/tests/src/ctdb_fetch.c
@@ -207,7 +207,7 @@ int main(int argc, const char *argv[])
ev = event_context_init(NULL);
- ctdb = ctdb_cmdline_client(ev);
+ ctdb = ctdb_cmdline_client(ev, timeval_current_ofs(3, 0));
if (ctdb == NULL) {
printf("failed to connect to ctdb daemon.\n");
diff --git a/ctdb/tests/src/ctdb_fetch_one.c b/ctdb/tests/src/ctdb_fetch_one.c
index 7348aa6986..f8fa466699 100644
--- a/ctdb/tests/src/ctdb_fetch_one.c
+++ b/ctdb/tests/src/ctdb_fetch_one.c
@@ -114,7 +114,7 @@ int main(int argc, const char *argv[])
ev = event_context_init(NULL);
- ctdb = ctdb_cmdline_client(ev);
+ ctdb = ctdb_cmdline_client(ev, timeval_current_ofs(3, 0));
if (ctdb == NULL) {
printf("failed to connect to ctdb deamon.\n");
diff --git a/ctdb/tests/src/ctdb_persistent.c b/ctdb/tests/src/ctdb_persistent.c
index 6074b6a1e3..bf975c6102 100644
--- a/ctdb/tests/src/ctdb_persistent.c
+++ b/ctdb/tests/src/ctdb_persistent.c
@@ -220,7 +220,7 @@ int main(int argc, const char *argv[])
ev = event_context_init(NULL);
- ctdb = ctdb_cmdline_client(ev);
+ ctdb = ctdb_cmdline_client(ev, timeval_current_ofs(3, 0));
if (ctdb == NULL) {
printf("Could not attach to daemon\n");
return 1;
diff --git a/ctdb/tests/src/ctdb_randrec.c b/ctdb/tests/src/ctdb_randrec.c
index 5b7eef83d2..128ffc877f 100644
--- a/ctdb/tests/src/ctdb_randrec.c
+++ b/ctdb/tests/src/ctdb_randrec.c
@@ -181,7 +181,7 @@ int main(int argc, const char *argv[])
ev = event_context_init(NULL);
- ctdb = ctdb_cmdline_client(ev);
+ ctdb = ctdb_cmdline_client(ev, timeval_current_ofs(3, 0));
if (ctdb == NULL) {
printf("failed to connect to daemon\n");
diff --git a/ctdb/tests/src/ctdb_store.c b/ctdb/tests/src/ctdb_store.c
index 82669b7b6d..ea1486c0a0 100644
--- a/ctdb/tests/src/ctdb_store.c
+++ b/ctdb/tests/src/ctdb_store.c
@@ -136,7 +136,7 @@ int main(int argc, const char *argv[])
ev = event_context_init(NULL);
- ctdb = ctdb_cmdline_client(ev);
+ ctdb = ctdb_cmdline_client(ev, timeval_current_ofs(3, 0));
if (ctdb == NULL) {
printf("failed to connect to ctdb daemon.\n");
diff --git a/ctdb/tests/src/ctdb_transaction.c b/ctdb/tests/src/ctdb_transaction.c
index 39e40dd16b..1eba5c8603 100644
--- a/ctdb/tests/src/ctdb_transaction.c
+++ b/ctdb/tests/src/ctdb_transaction.c
@@ -252,7 +252,7 @@ int main(int argc, const char *argv[])
ev = event_context_init(NULL);
- ctdb = ctdb_cmdline_client(ev);
+ ctdb = ctdb_cmdline_client(ev, timeval_current_ofs(3, 0));
if (ctdb == NULL) {
DEBUG(DEBUG_ERR, ("Could not attach to daemon\n"));
return 1;
diff --git a/ctdb/tests/src/ctdb_traverse.c b/ctdb/tests/src/ctdb_traverse.c
index c4510e43c9..4d523f27ea 100644
--- a/ctdb/tests/src/ctdb_traverse.c
+++ b/ctdb/tests/src/ctdb_traverse.c
@@ -89,7 +89,7 @@ int main(int argc, const char *argv[])
ev = event_context_init(NULL);
- ctdb = ctdb_cmdline_client(ev);
+ ctdb = ctdb_cmdline_client(ev, timeval_current_ofs(3, 0));
/* attach to a specific database */
ctdb_db = ctdb_attach(ctdb, dbname, false, 0);
diff --git a/ctdb/tools/ctdb.c b/ctdb/tools/ctdb.c
index 8528de70ee..e9c8b91492 100644
--- a/ctdb/tools/ctdb.c
+++ b/ctdb/tools/ctdb.c
@@ -5134,7 +5134,7 @@ int main(int argc, const char *argv[])
}
/* initialise ctdb */
- ctdb = ctdb_cmdline_client(ev);
+ ctdb = ctdb_cmdline_client(ev, TIMELIMIT());
if (ctdb_commands[i].without_daemon == false) {
const char *socket_name;