X-Git-Url: https://git.ozlabs.org/?p=ccan;a=blobdiff_plain;f=ccan%2Ftdb2%2Ftest%2Frun-04-basichash.c;h=d1e41c29e494d6c35f5ef36beb9ddd294cd26454;hp=ba70cc37143b90a57800bf331665a66774a24ea9;hb=04cf551d15ee93716aa0462adadc0a3891480813;hpb=6804501c350181dea8f531142b28c620b70edbd9 diff --git a/ccan/tdb2/test/run-04-basichash.c b/ccan/tdb2/test/run-04-basichash.c index ba70cc37..d1e41c29 100644 --- a/ccan/tdb2/test/run-04-basichash.c +++ b/ccan/tdb2/test/run-04-basichash.c @@ -3,6 +3,7 @@ #include #include #include +#include #include #include #include "logging.h" @@ -45,7 +46,7 @@ int main(int argc, char *argv[]) v = 0; /* Should not find it. */ - ok1(find_and_lock(tdb, key, F_WRLCK, &h, &rec) == 0); + ok1(find_and_lock(tdb, key, F_WRLCK, &h, &rec, NULL) == 0); /* Should have created correct hash. */ ok1(h.h == tdb_hash(tdb, key.dptr, key.dsize)); /* Should have located space in group 0, bucket 0. */ @@ -64,7 +65,8 @@ int main(int argc, char *argv[]) /* FIXME: Check lock length */ /* Allocate a new record. */ - new_off = alloc(tdb, key.dsize, dbuf.dsize, h.h, false); + new_off = alloc(tdb, key.dsize, dbuf.dsize, h.h, + TDB_USED_MAGIC, false); ok1(new_off != TDB_OFF_ERR); /* We should be able to add it now. */ @@ -72,9 +74,9 @@ int main(int argc, char *argv[]) /* Make sure we fill it in for later finding. */ off = new_off + sizeof(struct tdb_used_record); - ok1(!tdb->methods->write(tdb, off, key.dptr, key.dsize)); + ok1(!tdb->methods->twrite(tdb, off, key.dptr, key.dsize)); off += key.dsize; - ok1(!tdb->methods->write(tdb, off, dbuf.dptr, dbuf.dsize)); + ok1(!tdb->methods->twrite(tdb, off, dbuf.dptr, dbuf.dsize)); /* We should be able to unlock that OK. */ ok1(tdb_unlock_hashes(tdb, h.hlock_start, h.hlock_range, @@ -84,7 +86,8 @@ int main(int argc, char *argv[]) ok1(tdb_check(tdb, NULL, NULL) == 0); /* Now, this should give a successful lookup. */ - ok1(find_and_lock(tdb, key, F_WRLCK, &h, &rec) == new_off); + ok1(find_and_lock(tdb, key, F_WRLCK, &h, &rec, NULL) + == new_off); /* Should have created correct hash. */ ok1(h.h == tdb_hash(tdb, key.dptr, key.dsize)); /* Should have located space in group 0, bucket 0. */ @@ -110,7 +113,7 @@ int main(int argc, char *argv[]) /* Test expansion. */ v = 1; - ok1(find_and_lock(tdb, key, F_WRLCK, &h, &rec) == 0); + ok1(find_and_lock(tdb, key, F_WRLCK, &h, &rec, NULL) == 0); /* Should have created correct hash. */ ok1(h.h == tdb_hash(tdb, key.dptr, key.dsize)); /* Should have located space in group 0, bucket 1. */ @@ -146,7 +149,8 @@ int main(int argc, char *argv[]) /* Should be able to find it. */ v = 0; - ok1(find_and_lock(tdb, key, F_WRLCK, &h, &rec) == new_off); + ok1(find_and_lock(tdb, key, F_WRLCK, &h, &rec, NULL) + == new_off); /* Should have created correct hash. */ ok1(h.h == tdb_hash(tdb, key.dptr, key.dsize)); /* Should have located space in expanded group 0, bucket 0. */ @@ -167,7 +171,7 @@ int main(int argc, char *argv[]) /* Simple delete should work. */ ok1(delete_from_hash(tdb, &h) == 0); - ok1(add_free_record(tdb, rec_zone_bits(&rec), new_off, + ok1(add_free_record(tdb, new_off, sizeof(struct tdb_used_record) + rec_key_length(&rec) + rec_data_length(&rec) @@ -178,7 +182,7 @@ int main(int argc, char *argv[]) /* Test second-level expansion: should expand 0th bucket. */ v = 0; - ok1(find_and_lock(tdb, key, F_WRLCK, &h, &rec) == 0); + ok1(find_and_lock(tdb, key, F_WRLCK, &h, &rec, NULL) == 0); /* Should have created correct hash. */ ok1(h.h == tdb_hash(tdb, key.dptr, key.dsize)); /* Should have located space in group 0, bucket 0. */ @@ -210,7 +214,7 @@ int main(int argc, char *argv[]) /* Should be happy with expansion. */ ok1(tdb_check(tdb, NULL, NULL) == 0); - ok1(find_and_lock(tdb, key, F_WRLCK, &h, &rec) == 0); + ok1(find_and_lock(tdb, key, F_WRLCK, &h, &rec, NULL) == 0); /* Should have created correct hash. */ ok1(h.h == tdb_hash(tdb, key.dptr, key.dsize)); /* Should have located space in group 0, bucket 0. */ @@ -222,15 +226,16 @@ int main(int argc, char *argv[]) /* We should be able to add it now. */ /* Allocate a new record. */ - new_off = alloc(tdb, key.dsize, dbuf.dsize, h.h, false); + new_off = alloc(tdb, key.dsize, dbuf.dsize, h.h, + TDB_USED_MAGIC, false); ok1(new_off != TDB_OFF_ERR); ok1(add_to_hash(tdb, &h, new_off) == 0); /* Make sure we fill it in for later finding. */ off = new_off + sizeof(struct tdb_used_record); - ok1(!tdb->methods->write(tdb, off, key.dptr, key.dsize)); + ok1(!tdb->methods->twrite(tdb, off, key.dptr, key.dsize)); off += key.dsize; - ok1(!tdb->methods->write(tdb, off, dbuf.dptr, dbuf.dsize)); + ok1(!tdb->methods->twrite(tdb, off, dbuf.dptr, dbuf.dsize)); /* We should be able to unlock that OK. */ ok1(tdb_unlock_hashes(tdb, h.hlock_start, h.hlock_range, @@ -241,7 +246,8 @@ int main(int argc, char *argv[]) /* Should be able to find it. */ v = 0; - ok1(find_and_lock(tdb, key, F_WRLCK, &h, &rec) == new_off); + ok1(find_and_lock(tdb, key, F_WRLCK, &h, &rec, NULL) + == new_off); /* Should have created correct hash. */ ok1(h.h == tdb_hash(tdb, key.dptr, key.dsize)); /* Should have located space in expanded group 0, bucket 0. */