Lines Matching refs:arg_map

143 	struct crush_choose_arg_map *arg_map;  in alloc_choose_arg_map()  local
145 arg_map = kzalloc(sizeof(*arg_map), GFP_NOIO); in alloc_choose_arg_map()
146 if (!arg_map) in alloc_choose_arg_map()
149 RB_CLEAR_NODE(&arg_map->node); in alloc_choose_arg_map()
150 return arg_map; in alloc_choose_arg_map()
153 static void free_choose_arg_map(struct crush_choose_arg_map *arg_map) in free_choose_arg_map() argument
155 if (arg_map) { in free_choose_arg_map()
158 WARN_ON(!RB_EMPTY_NODE(&arg_map->node)); in free_choose_arg_map()
160 for (i = 0; i < arg_map->size; i++) { in free_choose_arg_map()
161 struct crush_choose_arg *arg = &arg_map->args[i]; in free_choose_arg_map()
168 kfree(arg_map->args); in free_choose_arg_map()
169 kfree(arg_map); in free_choose_arg_map()
179 struct crush_choose_arg_map *arg_map = in clear_choose_args() local
183 erase_choose_arg_map(&c->choose_args, arg_map); in clear_choose_args()
184 free_choose_arg_map(arg_map); in clear_choose_args()
263 struct crush_choose_arg_map *arg_map = NULL; in decode_choose_args() local
269 arg_map = alloc_choose_arg_map(); in decode_choose_args()
270 if (!arg_map) { in decode_choose_args()
275 ceph_decode_64_safe(p, end, arg_map->choose_args_index, in decode_choose_args()
277 arg_map->size = c->max_buckets; in decode_choose_args()
278 arg_map->args = kcalloc(arg_map->size, sizeof(*arg_map->args), in decode_choose_args()
280 if (!arg_map->args) { in decode_choose_args()
291 if (bucket_index >= arg_map->size) in decode_choose_args()
294 arg = &arg_map->args[bucket_index]; in decode_choose_args()
304 insert_choose_arg_map(&c->choose_args, arg_map); in decode_choose_args()
312 free_choose_arg_map(arg_map); in decode_choose_args()
2251 struct crush_choose_arg_map *arg_map; in do_crush() local
2256 arg_map = lookup_choose_arg_map(&map->crush->choose_args, in do_crush()
2258 if (!arg_map) in do_crush()
2259 arg_map = lookup_choose_arg_map(&map->crush->choose_args, in do_crush()
2265 arg_map ? arg_map->args : NULL); in do_crush()