Browse Source

tdb2: expose and document tdb1_incompatible_hash.

Rusty Russell 14 years ago
parent
commit
a4f2eb983b
2 changed files with 12 additions and 2 deletions
  1. 0 2
      ccan/tdb2/tdb1.h
  2. 12 0
      ccan/tdb2/tdb2.h

+ 0 - 2
ccan/tdb2/tdb1.h

@@ -38,8 +38,6 @@
 
 void tdb1_set_max_dead(struct tdb_context *tdb, int max_dead);
 
-uint64_t tdb1_incompatible_hash(const void *key, size_t len, uint64_t seed, void *);
-
 /* @} ******************************************************************/
 
 #endif /* tdb1.h */

+ 12 - 0
ccan/tdb2/tdb2.h

@@ -88,6 +88,18 @@ struct tdb_context *tdb_open(const char *name, int tdb_flags,
 #define TDB_RDONLY   512 /* implied by O_RDONLY */
 #define TDB_VERSION1  1024 /* create/open an old style TDB */
 
+/**
+ * tdb1_incompatible_hash - better (Jenkins) hash for tdb1
+ *
+ * This is better than the default hash for tdb1; but older versions of the
+ * tdb library (prior to version 1.2.6) won't be able to open them.
+ *
+ * It only makes sense to specify this (using tdb_attribute_hash) when
+ * creating (with O_CREAT) an old tdb version using TDB_VERSION1.  It's
+ * equivalent to the TDB_INCOMPATIBLE_HASH flag for tdb1.
+ */
+uint64_t tdb1_incompatible_hash(const void *, size_t, uint64_t, void *);
+
 /**
  * tdb_close - close and free a tdb.
  * @tdb: the tdb context returned from tdb_open()