[PATCH 1/1] mktree: long is bigger on 64-bit (v2)

Oren Laadan orenl at cs.columbia.edu
Thu May 14 03:12:39 PDT 2009


applied, thanks.

Serge E. Hallyn wrote:
> mktree's hash function assumes that long is 32 bits.  Fix.
> 
> This version takes Nathan's suggestion of using sizeof(key)
> instead of sizeof(long).
> 
> Signed-off-by: Serge Hallyn <serue at us.ibm.com>
> ---
>  mktree.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/mktree.c b/mktree.c
> index 7a8cecc..c1f13b8 100644
> --- a/mktree.c
> +++ b/mktree.c
> @@ -1291,7 +1291,7 @@ static void hash_exit(struct ckpt_ctx *ctx)
>  static inline int hash_func(long key)
>  {
>  	unsigned long hash = key * GOLDEN_RATIO_PRIME_32;
> -	return (hash >> (32 - HASH_BITS));
> +	return (hash >> (sizeof(key)*8 - HASH_BITS));
>  }
>  
>  static int hash_insert(struct ckpt_ctx *ctx, long key, void *data)


More information about the Containers mailing list