+ if (remove_from_list(tdb, b_off, best_off, &best) != 0)
+ goto unlock_err;
+
+ leftover = record_leftover(keylen, datalen, want_extra,
+ best.data_len);
+
+ /* We need to mark non-free before we drop lock, otherwise
+ * coalesce() could try to merge it! */
+ if (set_header(tdb, &rec, keylen, datalen,
+ best.data_len - leftover,
+ hashlow, zone_bits) != 0)