summaryrefslogtreecommitdiffstats
path: root/net/ceph/crush/crush.c
diff options
context:
space:
mode:
authorIlya Dryomov <idryomov@gmail.com>2020-05-19 17:09:52 +0200
committerIlya Dryomov <idryomov@gmail.com>2020-06-01 13:22:53 +0200
commit86403a92c3c5c6c395983fdbfc5e2f29dc39279b (patch)
tree0c1b12653a587c8ca07f16d448066281659b6458 /net/ceph/crush/crush.c
parentlibceph: add non-asserting rbtree insertion helper (diff)
downloadlinux-86403a92c3c5c6c395983fdbfc5e2f29dc39279b.tar.xz
linux-86403a92c3c5c6c395983fdbfc5e2f29dc39279b.zip
libceph: decode CRUSH device/bucket types and names
These would be matched with the provided client location to calculate the locality value. Signed-off-by: Ilya Dryomov <idryomov@gmail.com> Reviewed-by: Jeff Layton <jlayton@kernel.org>
Diffstat (limited to 'net/ceph/crush/crush.c')
-rw-r--r--net/ceph/crush/crush.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/net/ceph/crush/crush.c b/net/ceph/crush/crush.c
index 3d70244bc1b6..254ded0b05f6 100644
--- a/net/ceph/crush/crush.c
+++ b/net/ceph/crush/crush.c
@@ -2,7 +2,6 @@
#ifdef __KERNEL__
# include <linux/slab.h>
# include <linux/crush/crush.h>
-void clear_choose_args(struct crush_map *c);
#else
# include "crush_compat.h"
# include "crush.h"
@@ -130,6 +129,8 @@ void crush_destroy(struct crush_map *map)
#ifndef __KERNEL__
kfree(map->choose_tries);
#else
+ clear_crush_names(&map->type_names);
+ clear_crush_names(&map->names);
clear_choose_args(map);
#endif
kfree(map);