Lines Matching refs:gc_list
833 static struct inode *find_gc_inode(struct gc_inode_list *gc_list, nid_t ino) in find_gc_inode() argument
837 ie = radix_tree_lookup(&gc_list->iroot, ino); in find_gc_inode()
843 static void add_gc_inode(struct gc_inode_list *gc_list, struct inode *inode) in add_gc_inode() argument
847 if (inode == find_gc_inode(gc_list, inode->i_ino)) { in add_gc_inode()
854 f2fs_radix_tree_insert(&gc_list->iroot, inode->i_ino, new_ie); in add_gc_inode()
855 list_add_tail(&new_ie->list, &gc_list->ilist); in add_gc_inode()
858 static void put_gc_inode(struct gc_inode_list *gc_list) in put_gc_inode() argument
861 list_for_each_entry_safe(ie, next_ie, &gc_list->ilist, list) { in put_gc_inode()
862 radix_tree_delete(&gc_list->iroot, ie->inode->i_ino); in put_gc_inode()
1404 struct gc_inode_list *gc_list, unsigned int segno, int gc_type, in gc_data_segment() argument
1489 add_gc_inode(gc_list, inode); in gc_data_segment()
1502 add_gc_inode(gc_list, inode); in gc_data_segment()
1507 inode = find_gc_inode(gc_list, dni.ino); in gc_data_segment()
1573 struct gc_inode_list *gc_list, int gc_type, in do_garbage_collect() argument
1660 submitted += gc_data_segment(sbi, sum->entries, gc_list, in do_garbage_collect()
1698 struct gc_inode_list gc_list = { in f2fs_gc() local
1699 .ilist = LIST_HEAD_INIT(gc_list.ilist), in f2fs_gc()
1700 .iroot = RADIX_TREE_INIT(gc_list.iroot, GFP_NOFS), in f2fs_gc()
1753 seg_freed = do_garbage_collect(sbi, segno, &gc_list, gc_type, force); in f2fs_gc()
1813 put_gc_inode(&gc_list); in f2fs_gc()
1896 struct gc_inode_list gc_list = { in free_segment_range() local
1897 .ilist = LIST_HEAD_INIT(gc_list.ilist), in free_segment_range()
1898 .iroot = RADIX_TREE_INIT(gc_list.iroot, GFP_NOFS), in free_segment_range()
1901 do_garbage_collect(sbi, segno, &gc_list, FG_GC, true); in free_segment_range()
1902 put_gc_inode(&gc_list); in free_segment_range()