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 14 extern const char *crush_hash_name(int type); 15 16 extern __u32 crush_hash32(int type, __u32 a); 17 extern __u32 crush_hash32_2(int type, __u32 a, __u32 b); 18 extern __u32 crush_hash32_3(int type, __u32 a, __u32 b, __u32 c); 19 extern __u32 crush_hash32_4(int type, __u32 a, __u32 b, __u32 c, __u32 d); 20 extern __u32 crush_hash32_5(int type, __u32 a, __u32 b, __u32 c, __u32 d, 21 __u32 e); 22 23 #endif 24