diff --git a/ctdb/client/ctdb_client.c b/ctdb/client/ctdb_client.c index 9c7571f3ce9..57f2017839c 100644 --- a/ctdb/client/ctdb_client.c +++ b/ctdb/client/ctdb_client.c @@ -2213,7 +2213,7 @@ static void traverse_handler(struct ctdb_context *ctdb, uint64_t srvid, TDB_DATA return; } - if (state->fn(ctdb, key, data, state->private_data) != 0) { + if (state->fn(key, data, state->private_data) != 0) { state->done = true; } @@ -2296,7 +2296,7 @@ int ctdb_traverse(struct ctdb_db_context *ctdb_db, ctdb_traverse_func fn, void * /* called on each key during a catdb */ -int ctdb_dumpdb_record(struct ctdb_context *ctdb, TDB_DATA key, TDB_DATA data, void *p) +int ctdb_dumpdb_record(TDB_DATA key, TDB_DATA data, void *p) { int i; struct ctdb_dump_db_context *c = (struct ctdb_dump_db_context *)p; @@ -2316,8 +2316,8 @@ int ctdb_dumpdb_record(struct ctdb_context *ctdb, TDB_DATA key, TDB_DATA data, v fprintf(f, "dmaster: %u\n", h->dmaster); fprintf(f, "rsn: %llu\n", (unsigned long long)h->rsn); - if (c->printlmaster && ctdb->vnn_map != NULL) { - fprintf(f, "lmaster: %u\n", ctdb_lmaster(ctdb, &key)); + if (c->printlmaster && c->ctdb->vnn_map != NULL) { + fprintf(f, "lmaster: %u\n", ctdb_lmaster(c->ctdb, &key)); } if (c->printhash) { diff --git a/ctdb/include/ctdb_client.h b/ctdb/include/ctdb_client.h index 74887a7f741..528ea46a6ba 100644 --- a/ctdb/include/ctdb_client.h +++ b/ctdb/include/ctdb_client.h @@ -324,10 +324,11 @@ uint32_t *ctdb_get_connected_nodes(struct ctdb_context *ctdb, int ctdb_statistics_reset(struct ctdb_context *ctdb, uint32_t destnode); -typedef int (*ctdb_traverse_func)(struct ctdb_context *, TDB_DATA, TDB_DATA, void *); +typedef int (*ctdb_traverse_func)(TDB_DATA, TDB_DATA, void *); int ctdb_traverse(struct ctdb_db_context *ctdb_db, ctdb_traverse_func fn, void *private_data); struct ctdb_dump_db_context { + struct ctdb_context *ctdb; FILE *f; bool printemptyrecords; bool printdatasize; @@ -336,7 +337,7 @@ struct ctdb_dump_db_context { bool printrecordflags; }; -int ctdb_dumpdb_record(struct ctdb_context *ctdb, TDB_DATA key, TDB_DATA data, void *p); +int ctdb_dumpdb_record(TDB_DATA key, TDB_DATA data, void *p); int ctdb_dump_db(struct ctdb_db_context *ctdb_db, struct ctdb_dump_db_context *ctx); diff --git a/ctdb/tests/src/ctdb_traverse.c b/ctdb/tests/src/ctdb_traverse.c index 5b37ed9d724..67a0c61ed60 100644 --- a/ctdb/tests/src/ctdb_traverse.c +++ b/ctdb/tests/src/ctdb_traverse.c @@ -28,7 +28,7 @@ static const char *dbname = "test.tdb"; -static int traverse_callback(struct ctdb_context *ctdb, TDB_DATA key, TDB_DATA data, void *private_data) +static int traverse_callback(TDB_DATA key, TDB_DATA data, void *private_data) { uint32_t *count = private_data; diff --git a/ctdb/tools/ctdb.c b/ctdb/tools/ctdb.c index 0d0068779ae..989b94c80aa 100644 --- a/ctdb/tools/ctdb.c +++ b/ctdb/tools/ctdb.c @@ -3772,6 +3772,7 @@ static int control_catdb(struct ctdb_context *ctdb, int argc, const char **argv) } ZERO_STRUCT(c); + c.ctdb = ctdb; c.f = stdout; c.printemptyrecords = (bool)options.printemptyrecords; c.printdatasize = (bool)options.printdatasize; @@ -3807,6 +3808,7 @@ static int cattdb_traverse(struct tdb_context *tdb, TDB_DATA key, TDB_DATA data, d->count++; ZERO_STRUCT(c); + c.ctdb = d->ctdb; c.f = stdout; c.printemptyrecords = (bool)options.printemptyrecords; c.printdatasize = (bool)options.printdatasize; @@ -3814,7 +3816,7 @@ static int cattdb_traverse(struct tdb_context *tdb, TDB_DATA key, TDB_DATA data, c.printhash = (bool)options.printhash; c.printrecordflags = true; - return ctdb_dumpdb_record(d->ctdb, key, data, &c); + return ctdb_dumpdb_record(key, data, &c); } /* @@ -5824,6 +5826,7 @@ static int control_dumpdbbackup(struct ctdb_context *ctdb, int argc, const char dbhdr.name, m->db_id, tbuf); ZERO_STRUCT(c); + c.ctdb = ctdb; c.f = stdout; c.printemptyrecords = (bool)options.printemptyrecords; c.printdatasize = (bool)options.printdatasize; @@ -5839,7 +5842,7 @@ static int control_dumpdbbackup(struct ctdb_context *ctdb, int argc, const char rec = ctdb_marshall_loop_next(m, rec, &reqid, NULL, &key, &data); - ctdb_dumpdb_record(ctdb, key, data, &c); + ctdb_dumpdb_record(key, data, &c); } printf("Dumped %d records\n", i);