summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRonnie Sahlberg <ronniesahlberg@gmail.com>2008-07-02 12:21:53 +1000
committerRonnie Sahlberg <ronniesahlberg@gmail.com>2008-07-02 12:21:53 +1000
commit05b50ebe0ae4e27767c202b03aa18fcc3aed7526 (patch)
tree226e3690b237932abe85c2896dc3edf44dbc51d9
parentbb2019bb0f23747d64cbe9568d88d0a7b8fedd39 (diff)
print the opcode when an async callback detects an error
(This used to be ctdb commit 423934629704683d3a3042570577fb4e04b17a6d)
-rw-r--r--ctdb/client/ctdb_client.c5
-rw-r--r--ctdb/include/ctdb_private.h1
2 files changed, 4 insertions, 2 deletions
diff --git a/ctdb/client/ctdb_client.c b/ctdb/client/ctdb_client.c
index 97fae507bd..2158d48deb 100644
--- a/ctdb/client/ctdb_client.c
+++ b/ctdb/client/ctdb_client.c
@@ -2685,7 +2685,7 @@ static void async_callback(struct ctdb_client_control_state *state)
*/
if (state->state != CTDB_CONTROL_DONE) {
if ( !data->dont_log_errors) {
- DEBUG(DEBUG_ERR,("Async operation failed with state %d\n", state->state));
+ DEBUG(DEBUG_ERR,("Async operation failed with state %d\n opcode:%u", state->state, data->opcode));
}
data->fail_count++;
if (data->fail_callback) {
@@ -2700,7 +2700,7 @@ static void async_callback(struct ctdb_client_control_state *state)
ret = ctdb_control_recv(ctdb, state, data, &outdata, &res, NULL);
if ((ret != 0) || (res != 0)) {
if ( !data->dont_log_errors) {
- DEBUG(DEBUG_ERR,("Async operation failed with ret=%d res=%d\n", ret, (int)res));
+ DEBUG(DEBUG_ERR,("Async operation failed with ret=%d res=%d opcode=%u\n", ret, (int)res, data->opcode));
}
data->fail_count++;
if (data->fail_callback) {
@@ -2769,6 +2769,7 @@ int ctdb_client_async_control(struct ctdb_context *ctdb,
async_data->callback = client_callback;
async_data->fail_callback = fail_callback;
async_data->callback_data = callback_data;
+ async_data->opcode = opcode;
num_nodes = talloc_get_size(nodes) / sizeof(uint32_t);
diff --git a/ctdb/include/ctdb_private.h b/ctdb/include/ctdb_private.h
index b19012f1ec..0f170f812d 100644
--- a/ctdb/include/ctdb_private.h
+++ b/ctdb/include/ctdb_private.h
@@ -1313,6 +1313,7 @@ int ctdb_set_child_logging(struct ctdb_context *ctdb);
typedef void (*client_async_callback)(struct ctdb_context *ctdb, uint32_t node_pnn, int32_t res, TDB_DATA outdata, void *callback_data);
struct client_async_data {
+ enum ctdb_controls opcode;
bool dont_log_errors;
uint32_t count;
uint32_t fail_count;