From: "Dr. David Alan Gilbert" <linux@xxxxxxxxxxx> crush_bucket_alg_name(), crush_get_bucket_item_weight(), crush_hash32(), and crush_hash32_5() were added by commit 5ecc0a0f8128 ("ceph: CRUSH mapping algorithm") in 2009 but never used. crush_hash_name() was added a little later by commit fb690390e305 ("ceph: make CRUSH hash function a bucket property") and also not used. Remove them. They called a couple of static functions crush_hash32_rjenkins1() and crush_hash32_rjenkins1_5() which are now unused. Also remove them. Signed-off-by: Dr. David Alan Gilbert <linux@xxxxxxxxxxx> --- include/linux/crush/crush.h | 2 -- include/linux/crush/hash.h | 5 ---- net/ceph/crush/crush.c | 37 ----------------------- net/ceph/crush/hash.c | 59 ------------------------------------- 4 files changed, 103 deletions(-) diff --git a/include/linux/crush/crush.h b/include/linux/crush/crush.h index 30dba392b730..ed26099957df 100644 --- a/include/linux/crush/crush.h +++ b/include/linux/crush/crush.h @@ -117,7 +117,6 @@ enum { CRUSH_BUCKET_STRAW = 4, CRUSH_BUCKET_STRAW2 = 5, }; -extern const char *crush_bucket_alg_name(int alg); /* * although tree was a legacy algorithm, it has been buggy, so @@ -314,7 +313,6 @@ struct crush_map { /* crush.c */ -extern int crush_get_bucket_item_weight(const struct crush_bucket *b, int pos); extern void crush_destroy_bucket_uniform(struct crush_bucket_uniform *b); extern void crush_destroy_bucket_list(struct crush_bucket_list *b); extern void crush_destroy_bucket_tree(struct crush_bucket_tree *b); diff --git a/include/linux/crush/hash.h b/include/linux/crush/hash.h index 904df41f7847..0ee007a98236 100644 --- a/include/linux/crush/hash.h +++ b/include/linux/crush/hash.h @@ -12,13 +12,8 @@ #define CRUSH_HASH_DEFAULT CRUSH_HASH_RJENKINS1 -extern const char *crush_hash_name(int type); - -extern __u32 crush_hash32(int type, __u32 a); extern __u32 crush_hash32_2(int type, __u32 a, __u32 b); extern __u32 crush_hash32_3(int type, __u32 a, __u32 b, __u32 c); extern __u32 crush_hash32_4(int type, __u32 a, __u32 b, __u32 c, __u32 d); -extern __u32 crush_hash32_5(int type, __u32 a, __u32 b, __u32 c, __u32 d, - __u32 e); #endif diff --git a/net/ceph/crush/crush.c b/net/ceph/crush/crush.c index 254ded0b05f6..9331f91f1242 100644 --- a/net/ceph/crush/crush.c +++ b/net/ceph/crush/crush.c @@ -7,43 +7,6 @@ # include "crush.h" #endif -const char *crush_bucket_alg_name(int alg) -{ - switch (alg) { - case CRUSH_BUCKET_UNIFORM: return "uniform"; - case CRUSH_BUCKET_LIST: return "list"; - case CRUSH_BUCKET_TREE: return "tree"; - case CRUSH_BUCKET_STRAW: return "straw"; - case CRUSH_BUCKET_STRAW2: return "straw2"; - default: return "unknown"; - } -} - -/** - * crush_get_bucket_item_weight - Get weight of an item in given bucket - * @b: bucket pointer - * @p: item index in bucket - */ -int crush_get_bucket_item_weight(const struct crush_bucket *b, int p) -{ - if ((__u32)p >= b->size) - return 0; - - switch (b->alg) { - case CRUSH_BUCKET_UNIFORM: - return ((struct crush_bucket_uniform *)b)->item_weight; - case CRUSH_BUCKET_LIST: - return ((struct crush_bucket_list *)b)->item_weights[p]; - case CRUSH_BUCKET_TREE: - return ((struct crush_bucket_tree *)b)->node_weights[crush_calc_tree_node(p)]; - case CRUSH_BUCKET_STRAW: - return ((struct crush_bucket_straw *)b)->item_weights[p]; - case CRUSH_BUCKET_STRAW2: - return ((struct crush_bucket_straw2 *)b)->item_weights[p]; - } - return 0; -} - void crush_destroy_bucket_uniform(struct crush_bucket_uniform *b) { kfree(b->h.items); diff --git a/net/ceph/crush/hash.c b/net/ceph/crush/hash.c index fe79f6d2d0db..33792c0ea132 100644 --- a/net/ceph/crush/hash.c +++ b/net/ceph/crush/hash.c @@ -24,17 +24,6 @@ #define crush_hash_seed 1315423911 -static __u32 crush_hash32_rjenkins1(__u32 a) -{ - __u32 hash = crush_hash_seed ^ a; - __u32 b = a; - __u32 x = 231232; - __u32 y = 1232; - crush_hashmix(b, x, hash); - crush_hashmix(y, a, hash); - return hash; -} - static __u32 crush_hash32_rjenkins1_2(__u32 a, __u32 b) { __u32 hash = crush_hash_seed ^ a ^ b; @@ -73,34 +62,6 @@ static __u32 crush_hash32_rjenkins1_4(__u32 a, __u32 b, __u32 c, __u32 d) return hash; } -static __u32 crush_hash32_rjenkins1_5(__u32 a, __u32 b, __u32 c, __u32 d, - __u32 e) -{ - __u32 hash = crush_hash_seed ^ a ^ b ^ c ^ d ^ e; - __u32 x = 231232; - __u32 y = 1232; - crush_hashmix(a, b, hash); - crush_hashmix(c, d, hash); - crush_hashmix(e, x, hash); - crush_hashmix(y, a, hash); - crush_hashmix(b, x, hash); - crush_hashmix(y, c, hash); - crush_hashmix(d, x, hash); - crush_hashmix(y, e, hash); - return hash; -} - - -__u32 crush_hash32(int type, __u32 a) -{ - switch (type) { - case CRUSH_HASH_RJENKINS1: - return crush_hash32_rjenkins1(a); - default: - return 0; - } -} - __u32 crush_hash32_2(int type, __u32 a, __u32 b) { switch (type) { @@ -130,23 +91,3 @@ __u32 crush_hash32_4(int type, __u32 a, __u32 b, __u32 c, __u32 d) return 0; } } - -__u32 crush_hash32_5(int type, __u32 a, __u32 b, __u32 c, __u32 d, __u32 e) -{ - switch (type) { - case CRUSH_HASH_RJENKINS1: - return crush_hash32_rjenkins1_5(a, b, c, d, e); - default: - return 0; - } -} - -const char *crush_hash_name(int type) -{ - switch (type) { - case CRUSH_HASH_RJENKINS1: - return "rjenkins1"; - default: - return "unknown"; - } -} -- 2.47.0