[PATCH] libceph: Remove crush deadcode

From: linux
Date: Fri Oct 11 2024 - 18:47:59 EST


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