diff options
author | David Disseldorp <ddiss@suse.de> | 2011-08-08 14:09:46 +0200 |
---|---|---|
committer | David Disseldorp <ddiss@suse.de> | 2011-09-06 13:56:54 +0200 |
commit | 0628d1c0e698e754bada494312a64b2dad65f25c (patch) | |
tree | 76fefa0742e930f047d72627eb66943262166fb5 | |
parent | 2e5b0f1eb27fddfb5cdd0a705ad0057eb5f29292 (diff) | |
download | samba-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.c | 5 | ||||
-rw-r--r-- | ctdb/include/ctdb_client.h | 3 | ||||
-rw-r--r-- | ctdb/tests/src/ctdb_bench.c | 2 | ||||
-rw-r--r-- | ctdb/tests/src/ctdb_fetch.c | 2 | ||||
-rw-r--r-- | ctdb/tests/src/ctdb_fetch_one.c | 2 | ||||
-rw-r--r-- | ctdb/tests/src/ctdb_persistent.c | 2 | ||||
-rw-r--r-- | ctdb/tests/src/ctdb_randrec.c | 2 | ||||
-rw-r--r-- | ctdb/tests/src/ctdb_store.c | 2 | ||||
-rw-r--r-- | ctdb/tests/src/ctdb_transaction.c | 2 | ||||
-rw-r--r-- | ctdb/tests/src/ctdb_traverse.c | 2 | ||||
-rw-r--r-- | ctdb/tools/ctdb.c | 2 |
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; |