crush_map
struct crush_map *crush;
extern void crush_destroy(struct crush_map *map);
void clear_choose_args(struct crush_map *c);
extern int crush_find_rule(const struct crush_map *map, int ruleset, int type, int size);
int crush_do_rule(const struct crush_map *map,
static inline size_t crush_work_size(const struct crush_map *map,
void crush_init_workspace(const struct crush_map *map, void *v);
void crush_destroy(struct crush_map *map)
static int is_out(const struct crush_map *map,
int crush_find_rule(const struct crush_map *map, int ruleset, int type, int size)
static int crush_choose_firstn(const struct crush_map *map,
static void crush_choose_indep(const struct crush_map *map,
void crush_init_workspace(const struct crush_map *map, void *v)
int crush_do_rule(const struct crush_map *map,
const struct crush_map *c)
static int osdmap_set_crush(struct ceph_osdmap *map, struct crush_map *crush)
void clear_choose_args(struct crush_map *c)
static int get_immediate_parent(struct crush_map *c, int id,
static int decode_choose_args(void **p, void *end, struct crush_map *c)
static void crush_finalize(struct crush_map *c)
static struct crush_map *crush_decode(void *pbyval, void *end)
struct crush_map *c;
static struct crush_work *alloc_workspace(const struct crush_map *c)