tdb2: expose and document tdb1_incompatible_hash.
authorRusty Russell <rusty@rustcorp.com.au>
Wed, 31 Aug 2011 06:01:07 +0000 (15:31 +0930)
committerRusty Russell <rusty@rustcorp.com.au>
Wed, 31 Aug 2011 06:01:07 +0000 (15:31 +0930)
ccan/tdb2/tdb1.h
ccan/tdb2/tdb2.h

index 54b6d936d49b67de18aecd95b121a56ed616d977..c46abc7e5e774c7549782415f65a256993cf61b2 100644 (file)
@@ -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 */
index 76ecbe5b9d7d59369063fe65b011ae0fc990ff99..be5d50027712d4cf511ce60b02ae5e95bfc850e1 100644 (file)
@@ -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()