Lines Matching refs:gc_list
412 static struct inode *find_gc_inode(struct gc_inode_list *gc_list, nid_t ino) in find_gc_inode() argument
416 ie = radix_tree_lookup(&gc_list->iroot, ino); in find_gc_inode()
422 static void add_gc_inode(struct gc_inode_list *gc_list, struct inode *inode) in add_gc_inode() argument
426 if (inode == find_gc_inode(gc_list, inode->i_ino)) { in add_gc_inode()
433 f2fs_radix_tree_insert(&gc_list->iroot, inode->i_ino, new_ie); in add_gc_inode()
434 list_add_tail(&new_ie->list, &gc_list->ilist); in add_gc_inode()
437 static void put_gc_inode(struct gc_inode_list *gc_list) in put_gc_inode() argument
440 list_for_each_entry_safe(ie, next_ie, &gc_list->ilist, list) { in put_gc_inode()
441 radix_tree_delete(&gc_list->iroot, ie->inode->i_ino); in put_gc_inode()
905 struct gc_inode_list *gc_list, unsigned int segno, int gc_type) in gc_data_segment() argument
978 add_gc_inode(gc_list, inode); in gc_data_segment()
991 add_gc_inode(gc_list, inode); in gc_data_segment()
996 inode = find_gc_inode(gc_list, dni.ino); in gc_data_segment()
1053 struct gc_inode_list *gc_list, int gc_type) in do_garbage_collect() argument
1108 gc_data_segment(sbi, sum->entries, gc_list, segno, in do_garbage_collect()
1139 struct gc_inode_list gc_list = { in f2fs_gc() local
1140 .ilist = LIST_HEAD_INIT(gc_list.ilist), in f2fs_gc()
1141 .iroot = RADIX_TREE_INIT(gc_list.iroot, GFP_NOFS), in f2fs_gc()
1194 seg_freed = do_garbage_collect(sbi, segno, &gc_list, gc_type); in f2fs_gc()
1245 put_gc_inode(&gc_list); in f2fs_gc()