Lines Matching refs:arg_map
216 struct crush_choose_arg_map *arg_map;
218 arg_map = kzalloc(sizeof(*arg_map), GFP_NOIO);
219 if (!arg_map)
222 RB_CLEAR_NODE(&arg_map->node);
223 return arg_map;
226 static void free_choose_arg_map(struct crush_choose_arg_map *arg_map)
228 if (arg_map) {
231 WARN_ON(!RB_EMPTY_NODE(&arg_map->node));
233 for (i = 0; i < arg_map->size; i++) {
234 struct crush_choose_arg *arg = &arg_map->args[i];
241 kfree(arg_map->args);
242 kfree(arg_map);
252 struct crush_choose_arg_map *arg_map =
256 erase_choose_arg_map(&c->choose_args, arg_map);
257 free_choose_arg_map(arg_map);
336 struct crush_choose_arg_map *arg_map = NULL;
342 arg_map = alloc_choose_arg_map();
343 if (!arg_map) {
348 ceph_decode_64_safe(p, end, arg_map->choose_args_index,
350 arg_map->size = c->max_buckets;
351 arg_map->args = kcalloc(arg_map->size, sizeof(*arg_map->args),
353 if (!arg_map->args) {
364 if (bucket_index >= arg_map->size)
367 arg = &arg_map->args[bucket_index];
377 insert_choose_arg_map(&c->choose_args, arg_map);
385 free_choose_arg_map(arg_map);
2460 struct crush_choose_arg_map *arg_map;
2466 arg_map = lookup_choose_arg_map(&map->crush->choose_args,
2468 if (!arg_map)
2469 arg_map = lookup_choose_arg_map(&map->crush->choose_args,
2475 arg_map ? arg_map->args : NULL);