Lines Matching refs:list
183 struct candidate_list *list) in add_list() argument
185 struct rb_node **p = &list->rb_tree.rb_node; in add_list()
190 cand->list = list; in add_list()
195 if (list->sort_by_ec) in add_list()
206 rb_insert_color(&cand->rb_node, &list->rb_tree); in add_list()
208 if (list->count <= list->maxcount) { in add_list()
209 list->count++; in add_list()
212 cand = rb_entry(rb_last(&list->rb_tree), struct gc_candidate, rb_node); in add_list()
213 rb_erase(&cand->rb_node, &list->rb_tree); in add_list()
214 cand->list = NULL; in add_list()
220 struct candidate_list *list = cand->list; in remove_from_list() local
222 rb_erase(&cand->rb_node, &list->rb_tree); in remove_from_list()
223 list->count--; in remove_from_list()
234 u32 get_best_cand(struct super_block *sb, struct candidate_list *list, u32 *ec) in get_best_cand() argument
239 BUG_ON(list->count == 0); in get_best_cand()
241 cand = rb_entry(rb_first(&list->rb_tree), struct gc_candidate, rb_node); in get_best_cand()
348 static struct gc_candidate *first_in_list(struct candidate_list *list) in first_in_list() argument
350 if (list->count == 0) in first_in_list()
352 return rb_entry(rb_first(&list->rb_tree), struct gc_candidate, rb_node); in first_in_list()
675 static void logfs_init_candlist(struct candidate_list *list, int maxcount, in logfs_init_candlist() argument
678 list->count = 0; in logfs_init_candlist()
679 list->maxcount = maxcount; in logfs_init_candlist()
680 list->sort_by_ec = sort_by_ec; in logfs_init_candlist()
681 list->rb_tree = RB_ROOT; in logfs_init_candlist()
700 struct candidate_list *list) in logfs_cleanup_list() argument
704 while (list->count) { in logfs_cleanup_list()
705 cand = rb_entry(list->rb_tree.rb_node, struct gc_candidate, in logfs_cleanup_list()
710 BUG_ON(list->rb_tree.rb_node); in logfs_cleanup_list()