Lines Matching refs:gc_list
348 static struct inode *find_gc_inode(struct gc_inode_list *gc_list, nid_t ino) in find_gc_inode() argument
352 ie = radix_tree_lookup(&gc_list->iroot, ino); in find_gc_inode()
358 static void add_gc_inode(struct gc_inode_list *gc_list, struct inode *inode) in add_gc_inode() argument
362 if (inode == find_gc_inode(gc_list, inode->i_ino)) { in add_gc_inode()
369 f2fs_radix_tree_insert(&gc_list->iroot, inode->i_ino, new_ie); in add_gc_inode()
370 list_add_tail(&new_ie->list, &gc_list->ilist); in add_gc_inode()
373 static void put_gc_inode(struct gc_inode_list *gc_list) in put_gc_inode() argument
376 list_for_each_entry_safe(ie, next_ie, &gc_list->ilist, list) { in put_gc_inode()
377 radix_tree_delete(&gc_list->iroot, ie->inode->i_ino); in put_gc_inode()
668 struct gc_inode_list *gc_list, unsigned int segno, int gc_type) in gc_data_segment() argument
719 add_gc_inode(gc_list, inode); in gc_data_segment()
732 add_gc_inode(gc_list, inode); in gc_data_segment()
737 inode = find_gc_inode(gc_list, dni.ino); in gc_data_segment()
776 struct gc_inode_list *gc_list, int gc_type) in do_garbage_collect() argument
804 nfree = gc_data_segment(sbi, sum->entries, gc_list, in do_garbage_collect()
824 struct gc_inode_list gc_list = { in f2fs_gc() local
825 .ilist = LIST_HEAD_INIT(gc_list.ilist), in f2fs_gc()
858 if (!do_garbage_collect(sbi, segno + i, &gc_list, gc_type) && in f2fs_gc()
879 put_gc_inode(&gc_list); in f2fs_gc()