Lines Matching full:en
106 struct extent_node *en) in __try_update_largest_extent() argument
110 if (en->ei.len <= et->largest.len) in __try_update_largest_extent()
113 et->largest = en->ei; in __try_update_largest_extent()
154 struct extent_node *en; in __lookup_extent_node() local
163 en = rb_entry(node, struct extent_node, rb_node); in __lookup_extent_node()
165 if (fofs < en->ei.fofs) in __lookup_extent_node()
167 else if (fofs >= en->ei.fofs + en->ei.len) in __lookup_extent_node()
170 return en; in __lookup_extent_node()
195 struct extent_node *en = cached_en; in __lookup_extent_node_ret() local
205 if (en && en->ei.fofs <= fofs && en->ei.fofs + en->ei.len > fofs) in __lookup_extent_node_ret()
212 en = rb_entry(*pnode, struct extent_node, rb_node); in __lookup_extent_node_ret()
214 if (fofs < en->ei.fofs) { in __lookup_extent_node_ret()
216 } else if (fofs >= en->ei.fofs + en->ei.len) { in __lookup_extent_node_ret()
227 en = rb_entry(parent, struct extent_node, rb_node); in __lookup_extent_node_ret()
229 if (parent && fofs > en->ei.fofs) in __lookup_extent_node_ret()
234 if (parent && fofs < en->ei.fofs) in __lookup_extent_node_ret()
240 if (fofs == en->ei.fofs) { in __lookup_extent_node_ret()
242 tmp_node = rb_prev(&en->rb_node); in __lookup_extent_node_ret()
246 if (fofs == en->ei.fofs + en->ei.len - 1) { in __lookup_extent_node_ret()
248 tmp_node = rb_next(&en->rb_node); in __lookup_extent_node_ret()
252 return en; in __lookup_extent_node_ret()
264 struct extent_node *en; in __attach_extent_node() local
266 en = f2fs_kmem_cache_alloc(extent_node_slab, GFP_ATOMIC, false, sbi); in __attach_extent_node()
267 if (!en) in __attach_extent_node()
270 en->ei = *ei; in __attach_extent_node()
271 INIT_LIST_HEAD(&en->list); in __attach_extent_node()
272 en->et = et; in __attach_extent_node()
274 rb_link_node(&en->rb_node, parent, p); in __attach_extent_node()
275 rb_insert_color_cached(&en->rb_node, &et->root, leftmost); in __attach_extent_node()
278 return en; in __attach_extent_node()
282 struct extent_tree *et, struct extent_node *en) in __detach_extent_node() argument
286 rb_erase_cached(&en->rb_node, &et->root); in __detach_extent_node()
290 if (et->cached_en == en) in __detach_extent_node()
292 kmem_cache_free(extent_node_slab, en); in __detach_extent_node()
302 struct extent_tree *et, struct extent_node *en) in __release_extent_node() argument
307 f2fs_bug_on(sbi, list_empty(&en->list)); in __release_extent_node()
308 list_del_init(&en->list); in __release_extent_node()
311 __detach_extent_node(sbi, et, en); in __release_extent_node()
353 struct extent_node *en; in __free_extent_tree() local
360 en = rb_entry(node, struct extent_node, rb_node); in __free_extent_tree()
361 __release_extent_node(sbi, et, en); in __free_extent_tree()
384 struct extent_node *en; in f2fs_init_read_extent_tree() local
406 en = __attach_extent_node(sbi, et, &ei, NULL, in f2fs_init_read_extent_tree()
408 if (en) { in f2fs_init_read_extent_tree()
409 et->largest = en->ei; in f2fs_init_read_extent_tree()
410 et->cached_en = en; in f2fs_init_read_extent_tree()
413 list_add_tail(&en->list, &eti->extent_list); in f2fs_init_read_extent_tree()
449 struct extent_node *en; in __lookup_extent_tree() local
468 en = __lookup_extent_node(&et->root, et->cached_en, pgofs); in __lookup_extent_tree()
469 if (!en) in __lookup_extent_tree()
472 if (en == et->cached_en) in __lookup_extent_tree()
477 *ei = en->ei; in __lookup_extent_tree()
479 if (!list_empty(&en->list)) { in __lookup_extent_tree()
480 list_move_tail(&en->list, &eti->extent_list); in __lookup_extent_tree()
481 et->cached_en = en; in __lookup_extent_tree()
502 struct extent_node *en = NULL; in __try_merge_extent_node() local
507 en = prev_ex; in __try_merge_extent_node()
515 if (en) in __try_merge_extent_node()
518 en = next_ex; in __try_merge_extent_node()
521 if (!en) in __try_merge_extent_node()
524 __try_update_largest_extent(et, en); in __try_merge_extent_node()
527 if (!list_empty(&en->list)) { in __try_merge_extent_node()
528 list_move_tail(&en->list, &eti->extent_list); in __try_merge_extent_node()
529 et->cached_en = en; in __try_merge_extent_node()
532 return en; in __try_merge_extent_node()
544 struct extent_node *en = NULL; in __insert_extent_tree() local
557 en = rb_entry(parent, struct extent_node, rb_node); in __insert_extent_tree()
559 if (ei->fofs < en->ei.fofs) { in __insert_extent_tree()
561 } else if (ei->fofs >= en->ei.fofs + en->ei.len) { in __insert_extent_tree()
570 en = __attach_extent_node(sbi, et, ei, parent, p, leftmost); in __insert_extent_tree()
571 if (!en) in __insert_extent_tree()
574 __try_update_largest_extent(et, en); in __insert_extent_tree()
578 list_add_tail(&en->list, &eti->extent_list); in __insert_extent_tree()
579 et->cached_en = en; in __insert_extent_tree()
581 return en; in __insert_extent_tree()
613 struct extent_node *en = NULL, *en1 = NULL; in __update_extent_tree_range() local
651 en = __lookup_extent_node_ret(&et->root, in __update_extent_tree_range()
656 if (!en) in __update_extent_tree_range()
657 en = next_en; in __update_extent_tree_range()
660 while (en && en->ei.fofs < end) { in __update_extent_tree_range()
666 dei = en->ei; in __update_extent_tree_range()
672 en->ei.len = fofs - en->ei.fofs; in __update_extent_tree_range()
673 prev_en = en; in __update_extent_tree_range()
689 __set_extent_info(&en->ei, in __update_extent_tree_range()
690 end, en->ei.len - (end - dei.fofs), in __update_extent_tree_range()
691 en->ei.blk + (end - dei.fofs), true, in __update_extent_tree_range()
694 next_en = en; in __update_extent_tree_range()
700 struct rb_node *node = rb_next(&en->rb_node); in __update_extent_tree_range()
707 __try_update_largest_extent(et, en); in __update_extent_tree_range()
709 __release_extent_node(sbi, et, en); in __update_extent_tree_range()
720 en = next_en; in __update_extent_tree_range()
777 struct extent_node *en = NULL; in f2fs_update_read_extent_tree_range_compressed() local
792 en = __lookup_extent_node_ret(&et->root, in f2fs_update_read_extent_tree_range_compressed()
797 if (en) in f2fs_update_read_extent_tree_range_compressed()
916 struct extent_node *en; in __shrink_extent_tree() local
962 en = list_first_entry(&eti->extent_list, in __shrink_extent_tree()
964 et = en->et; in __shrink_extent_tree()
967 list_move_tail(&en->list, &eti->extent_list); in __shrink_extent_tree()
971 list_del_init(&en->list); in __shrink_extent_tree()
974 __detach_extent_node(sbi, et, en); in __shrink_extent_tree()