libceph, crush: per-pool crush_choose_arg_map for crush_do_rule()
If there is no crush_choose_arg_map for a given pool, a NULL pointer is passed to preserve existing crush_do_rule() behavior. Reflects ceph.git commits 55fb91d64071552ea1bc65ab4ea84d3c8b73ab4b, dbe36e08be00c6519a8c89718dd47b0219c20516. Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
#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"
|
||||
@@ -127,6 +128,8 @@ void crush_destroy(struct crush_map *map)
|
||||
|
||||
#ifndef __KERNEL__
|
||||
kfree(map->choose_tries);
|
||||
#else
|
||||
clear_choose_args(map);
|
||||
#endif
|
||||
kfree(map);
|
||||
}
|
||||
|
Reference in New Issue
Block a user