1#ifndef CEPH_CRUSH_HASH_H 2#define CEPH_CRUSH_HASH_H 3 4#ifdef __KERNEL__ 5# include <linux/types.h> 6#else 7# include "crush_compat.h" 8#endif 9 10#define CRUSH_HASH_RJENKINS1 0 11 12#define CRUSH_HASH_DEFAULT CRUSH_HASH_RJENKINS1 13 14extern const char *crush_hash_name(int type); 15 16extern __u32 crush_hash32(int type, __u32 a); 17extern __u32 crush_hash32_2(int type, __u32 a, __u32 b); 18extern __u32 crush_hash32_3(int type, __u32 a, __u32 b, __u32 c); 19extern __u32 crush_hash32_4(int type, __u32 a, __u32 b, __u32 c, __u32 d); 20extern __u32 crush_hash32_5(int type, __u32 a, __u32 b, __u32 c, __u32 d, 21 __u32 e); 22 23#endif 24