#include <ccan/tdb2/lock.c>
#include <ccan/tdb2/io.c>
#include <ccan/tdb2/hash.c>
+#include <ccan/tdb2/transaction.c>
#include <ccan/tdb2/check.c>
#include <ccan/tap/tap.h>
#include "logging.h"
/* 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. */
/* 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,
/* 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)
/* 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,