unsigned ftable,
struct tle_freetable *freetable)
{
- tdb->ftable_off = freetable->base.off;
- tdb->ftable = ftable;
- add_free_record(tdb, eoff, sizeof(struct tdb_used_record) + elen);
+ tdb->tdb2.ftable_off = freetable->base.off;
+ tdb->tdb2.ftable = ftable;
+ add_free_record(tdb, eoff, sizeof(struct tdb_used_record) + elen,
+ TDB_LOCK_WAIT, false);
}
static tdb_off_t hbucket_off(tdb_off_t group_start, unsigned ingroup)
b_off = hbucket_off(group_start, bucket);
if (tdb_read_off(tdb, b_off) == 0) {
tdb_write_off(tdb, b_off,
- encode_offset(eoff, bucket, h));
+ encode_offset(eoff, in_group, h));
return;
}
}
}
/* FIXME: Support TDB_CONVERT */
-struct tdb_context *tdb_layout_get(struct tdb_layout *layout)
+struct tdb_context *tdb_layout_get(struct tdb_layout *layout,
+ union tdb_attribute *attr)
{
unsigned int i;
tdb_off_t off, len, last_ftable;
/* Fill with some weird pattern. */
memset(mem, 0x99, off);
/* Now populate our header, cribbing from a real TDB header. */
- tdb = tdb_open(NULL, TDB_INTERNAL, O_RDWR, 0, &tap_log_attr);
+ tdb = tdb_open(NULL, TDB_INTERNAL, O_RDWR, 0, attr);
memcpy(mem, tdb->file->map_ptr, sizeof(struct tdb_header));
/* Mug the tdb we have to make it use this. */
}
}
- tdb->ftable_off = find_ftable(layout, 0)->base.off;
+ tdb->tdb2.ftable_off = find_ftable(layout, 0)->base.off;
/* Get physical if they asked for it. */
if (layout->filename) {