Lines Matching refs:arg_map
232 struct crush_choose_arg_map *arg_map;
234 arg_map = kzalloc(sizeof(*arg_map), GFP_NOIO);
235 if (!arg_map)
238 RB_CLEAR_NODE(&arg_map->node);
239 return arg_map;
242 static void free_choose_arg_map(struct crush_choose_arg_map *arg_map)
244 if (arg_map) {
247 WARN_ON(!RB_EMPTY_NODE(&arg_map->node));
249 for (i = 0; i < arg_map->size; i++) {
250 struct crush_choose_arg *arg = &arg_map->args[i];
257 kfree(arg_map->args);
258 kfree(arg_map);
268 struct crush_choose_arg_map *arg_map =
272 erase_choose_arg_map(&c->choose_args, arg_map);
273 free_choose_arg_map(arg_map);
352 struct crush_choose_arg_map *arg_map = NULL;
358 arg_map = alloc_choose_arg_map();
359 if (!arg_map) {
364 ceph_decode_64_safe(p, end, arg_map->choose_args_index,
366 arg_map->size = c->max_buckets;
367 arg_map->args = kcalloc(arg_map->size, sizeof(*arg_map->args),
369 if (!arg_map->args) {
380 if (bucket_index >= arg_map->size)
383 arg = &arg_map->args[bucket_index];
393 insert_choose_arg_map(&c->choose_args, arg_map);
401 free_choose_arg_map(arg_map);
2495 struct crush_choose_arg_map *arg_map;
2501 arg_map = lookup_choose_arg_map(&map->crush->choose_args,
2503 if (!arg_map)
2504 arg_map = lookup_choose_arg_map(&map->crush->choose_args,
2510 arg_map ? arg_map->args : NULL);