From 9cbb97f3ac06d717afe4ced2c4f624078bb88396 Mon Sep 17 00:00:00 2001 From: Rusty Russell Date: Thu, 23 Sep 2010 16:50:30 +0930 Subject: [PATCH] tdb: add mktdb tool. --- ccan/tdb/tools/Makefile | 2 +- ccan/tdb/tools/mktdb.c | 29 +++++++++++++++++++++++++++++ 2 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 ccan/tdb/tools/mktdb.c diff --git a/ccan/tdb/tools/Makefile b/ccan/tdb/tools/Makefile index 8febc40f..4dc5ceb0 100644 --- a/ccan/tdb/tools/Makefile +++ b/ccan/tdb/tools/Makefile @@ -2,7 +2,7 @@ LDLIBS:=../../tdb.o ../../hash.o CFLAGS:=-I../../.. -Wall -O3 #-g -pg LDFLAGS:=-L../../.. -default: replay_trace tdbtorture tdbdump tdbtool starvation +default: replay_trace tdbtorture tdbdump tdbtool starvation mktdb benchmark: replay_trace @trap "rm -f /tmp/trace.$$$$" 0; for f in benchmarks/*.rz; do if runzip -k $$f -o /tmp/trace.$$$$ && echo -n "$$f": && ./replay_trace --quiet -n 5 replay.tdb /tmp/trace.$$$$ && rm /tmp/trace.$$$$; then rm -f /tmp/trace.$$$$; else exit 1; fi; done diff --git a/ccan/tdb/tools/mktdb.c b/ccan/tdb/tools/mktdb.c new file mode 100644 index 00000000..ed0efcd4 --- /dev/null +++ b/ccan/tdb/tools/mktdb.c @@ -0,0 +1,29 @@ +#include +#include +#include +#include +#include + +int main(int argc, char *argv[]) +{ + unsigned int i, num_recs; + struct tdb_context *tdb; + + if (argc != 3 || (num_recs = atoi(argv[2])) == 0) + errx(1, "Usage: mktdb "); + + tdb = tdb_open(argv[1], 10007, TDB_DEFAULT, O_CREAT|O_TRUNC|O_RDWR, 0600); + if (!tdb) + err(1, "Opening %s", argv[1]); + + for (i = 0; i < num_recs; i++) { + TDB_DATA d; + + d.dptr = (void *)&i; + d.dsize = sizeof(i); + if (tdb_store(tdb, d, d, TDB_INSERT) != 0) + err(1, "Failed to store record %i", i); + } + printf("Done\n"); + return 0; +} -- 2.39.2