]> git.ozlabs.org Git - ccan/blobdiff - ccan/tdb/tools/replay_trace.c
Open database with TDB_NOSYNC to speed it up a little.
[ccan] / ccan / tdb / tools / replay_trace.c
index e639dcdc6ce656e132230c2057003431daa76623..8fc0ce52a63379cdf325ee4fd2ced797afb8edb0 100644 (file)
@@ -1023,18 +1023,13 @@ static bool satisfies(const TDB_DATA *key, const TDB_DATA *data,
        assert(data != &must_not_exist);
        assert(data != &not_exists_or_empty);
 
-       /* must_not_exist == must_not_exist, must_exist == must_exist, or
-          not_exists_or_empty == not_exists_or_empty. */
-       if (data->dsize == need->dsize && data->dptr == need->dptr)
-               return true;
-
        /* Must not exist?  data must not exist. */
        if (need == &must_not_exist)
-               return data->dptr == NULL;
+               return data == &tdb_null;
 
        /* Must exist? */
        if (need == &must_exist)
-               return data->dptr != NULL;
+               return data != &tdb_null;
 
        /* Either noexist or empty. */
        if (need == &not_exists_or_empty)
@@ -1250,7 +1245,7 @@ static void add_dependency(void *ctx,
         */
        else if (in_traverse(op[needs_file], needs_opnum)) {
                struct op *need = &op[needs_file][needs_opnum];
-               if (op[needs_file][need->group_start].serial <
+               if (op[needs_file][need->group_start].serial >
                    op[satisfies_file][satisfies_opnum].serial) {
                        needs_opnum = need->group_start;
                }
@@ -1453,9 +1448,8 @@ int main(int argc, char *argv[])
        /* Don't fork for single arg case: simple debugging. */
        if (argc == 3) {
                struct tdb_context *tdb;
-               tdb = tdb_open_ex(argv[1], hashsize[0], tdb_flags[0],
-                                 open_flags[0], 0600,
-                                 NULL, hash_key);
+               tdb = tdb_open_ex(argv[1], hashsize[0], tdb_flags[0]|TDB_NOSYNC,
+                                 open_flags[0], 0600, NULL, hash_key);
                printf("Single threaded run...");
                fflush(stdout);
 
@@ -1477,9 +1471,9 @@ int main(int argc, char *argv[])
                        err(1, "fork failed");
                case 0:
                        close(fds[1]);
-                       tdb = tdb_open_ex(argv[1], hashsize[i], tdb_flags[i],
-                                         open_flags[i], 0600,
-                                         NULL, hash_key);
+                       tdb = tdb_open_ex(argv[1], hashsize[i],
+                                         tdb_flags[i]|TDB_NOSYNC,
+                                         open_flags[i], 0600, NULL, hash_key);
                        if (!tdb)
                                err(1, "Opening tdb %s", argv[1]);