From: David Teigland Use linux/jhash.h instead of our own hash function. Signed-off-by: David Teigland Signed-off-by: Andrew Morton --- drivers/dlm/dir.c | 2 +- drivers/dlm/dlm_internal.h | 1 + drivers/dlm/lock.c | 2 +- drivers/dlm/util.c | 34 ---------------------------------- drivers/dlm/util.h | 2 -- 5 files changed, 3 insertions(+), 38 deletions(-) diff -puN drivers/dlm/dir.c~dlm-use-jhash drivers/dlm/dir.c --- devel/drivers/dlm/dir.c~dlm-use-jhash 2005-08-17 23:18:22.000000000 -0700 +++ devel-akpm/drivers/dlm/dir.c 2005-08-17 23:18:22.000000000 -0700 @@ -120,7 +120,7 @@ static inline uint32_t dir_hash(struct d { uint32_t val; - val = dlm_hash(name, len); + val = jhash(name, len, 0); val &= (ls->ls_dirtbl_size - 1); return val; diff -puN drivers/dlm/dlm_internal.h~dlm-use-jhash drivers/dlm/dlm_internal.h --- devel/drivers/dlm/dlm_internal.h~dlm-use-jhash 2005-08-17 23:18:22.000000000 -0700 +++ devel-akpm/drivers/dlm/dlm_internal.h 2005-08-17 23:18:22.000000000 -0700 @@ -34,6 +34,7 @@ #include #include #include +#include #include #include diff -puN drivers/dlm/lock.c~dlm-use-jhash drivers/dlm/lock.c --- devel/drivers/dlm/lock.c~dlm-use-jhash 2005-08-17 23:18:22.000000000 -0700 +++ devel-akpm/drivers/dlm/lock.c 2005-08-17 23:18:22.000000000 -0700 @@ -369,7 +369,7 @@ static int find_rsb(struct dlm_ls *ls, c if (dlm_no_directory(ls)) flags |= R_CREATE; - hash = dlm_hash(name, namelen); + hash = jhash(name, namelen, 0); bucket = hash & (ls->ls_rsbtbl_size - 1); error = search_rsb(ls, name, namelen, bucket, flags, &r); diff -puN drivers/dlm/util.c~dlm-use-jhash drivers/dlm/util.c --- devel/drivers/dlm/util.c~dlm-use-jhash 2005-08-17 23:18:22.000000000 -0700 +++ devel-akpm/drivers/dlm/util.c 2005-08-17 23:18:22.000000000 -0700 @@ -13,40 +13,6 @@ #include "dlm_internal.h" #include "rcom.h" -/** - * dlm_hash - hash an array of data - * @data: the data to be hashed - * @len: the length of data to be hashed - * - * Copied from GFS which copied from... - * - * Take some data and convert it to a 32-bit hash. - * This is the 32-bit FNV-1a hash from: - * http://www.isthe.com/chongo/tech/comp/fnv/ - */ - -static inline uint32_t hash_more_internal(const void *data, unsigned int len, - uint32_t hash) -{ - unsigned char *p = (unsigned char *)data; - unsigned char *e = p + len; - uint32_t h = hash; - - while (p < e) { - h ^= (uint32_t)(*p++); - h *= 0x01000193; - } - - return h; -} - -uint32_t dlm_hash(const void *data, int len) -{ - uint32_t h = 0x811C9DC5; - h = hash_more_internal(data, len, h); - return h; -} - static void header_out(struct dlm_header *hd) { hd->h_version = cpu_to_le32(hd->h_version); diff -puN drivers/dlm/util.h~dlm-use-jhash drivers/dlm/util.h --- devel/drivers/dlm/util.h~dlm-use-jhash 2005-08-17 23:18:22.000000000 -0700 +++ devel-akpm/drivers/dlm/util.h 2005-08-17 23:18:22.000000000 -0700 @@ -13,8 +13,6 @@ #ifndef __UTIL_DOT_H__ #define __UTIL_DOT_H__ -uint32_t dlm_hash(const char *data, int len); - void dlm_message_out(struct dlm_message *ms); void dlm_message_in(struct dlm_message *ms); void dlm_rcom_out(struct dlm_rcom *rc); _