change the hash function to use the much better Jenkins hash
authorRonnie Sahlberg <ronniesahlberg@gmail.com>
Fri, 8 Oct 2010 02:14:14 +0000 (13:14 +1100)
committerRonnie Sahlberg <ronniesahlberg@gmail.com>
Fri, 8 Oct 2010 02:18:18 +0000 (13:18 +1100)
from the tdb library

cq S1020233

(This used to be ctdb commit f7e91ae905cd61249028e15f2cb509ea69f10b9e)

ctdb/common/ctdb_util.c

index 4acfa3f33e1badaa0b1108e07d6377f62436717a..749b9c286f1879de16ff0b9e915c5bbbb4f45a34 100644 (file)
@@ -99,14 +99,7 @@ bool ctdb_same_address(struct ctdb_address *a1, struct ctdb_address *a2)
 */
 uint32_t ctdb_hash(const TDB_DATA *key)
 {
-       uint32_t value; /* Used to compute the hash value.  */
-       uint32_t i;     /* Used to cycle through random values. */
-
-       /* Set the initial value from the key size. */
-       for (value = 0x238F13AF * key->dsize, i=0; i < key->dsize; i++)
-               value = (value + (key->dptr[i] << (i*5 % 24)));
-
-       return (1103515243 * value + 12345);  
+       return tdb_jenkins_hash(discard_const(key));
 }
 
 /*