Lines Matching full:en

127 						struct extent_node *en)  in __try_update_largest_extent()  argument
131 if (en->ei.len <= et->largest.len) in __try_update_largest_extent()
134 et->largest = en->ei; in __try_update_largest_extent()
175 struct extent_node *en; in __lookup_extent_node() local
184 en = rb_entry(node, struct extent_node, rb_node); in __lookup_extent_node()
186 if (fofs < en->ei.fofs) in __lookup_extent_node()
188 else if (fofs >= en->ei.fofs + en->ei.len) in __lookup_extent_node()
191 return en; in __lookup_extent_node()
216 struct extent_node *en = cached_en; in __lookup_extent_node_ret() local
226 if (en && en->ei.fofs <= fofs && en->ei.fofs + en->ei.len > fofs) in __lookup_extent_node_ret()
233 en = rb_entry(*pnode, struct extent_node, rb_node); in __lookup_extent_node_ret()
235 if (fofs < en->ei.fofs) { in __lookup_extent_node_ret()
237 } else if (fofs >= en->ei.fofs + en->ei.len) { in __lookup_extent_node_ret()
248 en = rb_entry(parent, struct extent_node, rb_node); in __lookup_extent_node_ret()
250 if (parent && fofs > en->ei.fofs) in __lookup_extent_node_ret()
255 if (parent && fofs < en->ei.fofs) in __lookup_extent_node_ret()
261 if (fofs == en->ei.fofs) { in __lookup_extent_node_ret()
263 tmp_node = rb_prev(&en->rb_node); in __lookup_extent_node_ret()
267 if (fofs == en->ei.fofs + en->ei.len - 1) { in __lookup_extent_node_ret()
269 tmp_node = rb_next(&en->rb_node); in __lookup_extent_node_ret()
273 return en; in __lookup_extent_node_ret()
285 struct extent_node *en; in __attach_extent_node() local
287 en = f2fs_kmem_cache_alloc(extent_node_slab, GFP_ATOMIC, false, sbi); in __attach_extent_node()
288 if (!en) in __attach_extent_node()
291 en->ei = *ei; in __attach_extent_node()
292 INIT_LIST_HEAD(&en->list); in __attach_extent_node()
293 en->et = et; in __attach_extent_node()
295 rb_link_node(&en->rb_node, parent, p); in __attach_extent_node()
296 rb_insert_color_cached(&en->rb_node, &et->root, leftmost); in __attach_extent_node()
299 return en; in __attach_extent_node()
303 struct extent_tree *et, struct extent_node *en) in __detach_extent_node() argument
307 rb_erase_cached(&en->rb_node, &et->root); in __detach_extent_node()
311 if (et->cached_en == en) in __detach_extent_node()
313 kmem_cache_free(extent_node_slab, en); in __detach_extent_node()
323 struct extent_tree *et, struct extent_node *en) in __release_extent_node() argument
328 f2fs_bug_on(sbi, list_empty(&en->list)); in __release_extent_node()
329 list_del_init(&en->list); in __release_extent_node()
332 __detach_extent_node(sbi, et, en); in __release_extent_node()
374 struct extent_node *en; in __free_extent_tree() local
380 en = rb_entry(node, struct extent_node, rb_node); in __free_extent_tree()
381 __release_extent_node(sbi, et, en); in __free_extent_tree()
404 struct extent_node *en; in f2fs_init_read_extent_tree() local
428 en = __attach_extent_node(sbi, et, &ei, NULL, in f2fs_init_read_extent_tree()
430 if (en) { in f2fs_init_read_extent_tree()
431 et->largest = en->ei; in f2fs_init_read_extent_tree()
432 et->cached_en = en; in f2fs_init_read_extent_tree()
435 list_add_tail(&en->list, &eti->extent_list); in f2fs_init_read_extent_tree()
469 struct extent_node *en; in __lookup_extent_tree() local
488 en = __lookup_extent_node(&et->root, et->cached_en, pgofs); in __lookup_extent_tree()
489 if (!en) in __lookup_extent_tree()
492 if (en == et->cached_en) in __lookup_extent_tree()
497 *ei = en->ei; in __lookup_extent_tree()
499 if (!list_empty(&en->list)) { in __lookup_extent_tree()
500 list_move_tail(&en->list, &eti->extent_list); in __lookup_extent_tree()
501 et->cached_en = en; in __lookup_extent_tree()
522 struct extent_node *en = NULL; in __try_merge_extent_node() local
527 en = prev_ex; in __try_merge_extent_node()
535 if (en) in __try_merge_extent_node()
538 en = next_ex; in __try_merge_extent_node()
541 if (!en) in __try_merge_extent_node()
544 __try_update_largest_extent(et, en); in __try_merge_extent_node()
547 if (!list_empty(&en->list)) { in __try_merge_extent_node()
548 list_move_tail(&en->list, &eti->extent_list); in __try_merge_extent_node()
549 et->cached_en = en; in __try_merge_extent_node()
552 return en; in __try_merge_extent_node()
564 struct extent_node *en = NULL; in __insert_extent_tree() local
577 en = rb_entry(parent, struct extent_node, rb_node); in __insert_extent_tree()
579 if (ei->fofs < en->ei.fofs) { in __insert_extent_tree()
581 } else if (ei->fofs >= en->ei.fofs + en->ei.len) { in __insert_extent_tree()
590 en = __attach_extent_node(sbi, et, ei, parent, p, leftmost); in __insert_extent_tree()
591 if (!en) in __insert_extent_tree()
594 __try_update_largest_extent(et, en); in __insert_extent_tree()
598 list_add_tail(&en->list, &eti->extent_list); in __insert_extent_tree()
599 et->cached_en = en; in __insert_extent_tree()
601 return en; in __insert_extent_tree()
609 struct extent_node *en = NULL, *en1 = NULL; in __update_extent_tree_range() local
647 en = __lookup_extent_node_ret(&et->root, in __update_extent_tree_range()
652 if (!en) in __update_extent_tree_range()
653 en = next_en; in __update_extent_tree_range()
656 while (en && en->ei.fofs < end) { in __update_extent_tree_range()
662 dei = en->ei; in __update_extent_tree_range()
668 en->ei.len = fofs - en->ei.fofs; in __update_extent_tree_range()
669 prev_en = en; in __update_extent_tree_range()
685 __set_extent_info(&en->ei, in __update_extent_tree_range()
686 end, en->ei.len - (end - dei.fofs), in __update_extent_tree_range()
687 en->ei.blk + (end - dei.fofs), true, in __update_extent_tree_range()
690 next_en = en; in __update_extent_tree_range()
696 struct rb_node *node = rb_next(&en->rb_node); in __update_extent_tree_range()
703 __try_update_largest_extent(et, en); in __update_extent_tree_range()
705 __release_extent_node(sbi, et, en); in __update_extent_tree_range()
716 en = next_en; in __update_extent_tree_range()
773 struct extent_node *en = NULL; in f2fs_update_read_extent_tree_range_compressed() local
788 en = __lookup_extent_node_ret(&et->root, in f2fs_update_read_extent_tree_range_compressed()
793 if (en) in f2fs_update_read_extent_tree_range_compressed()
912 struct extent_node *en; in __shrink_extent_tree() local
954 en = list_first_entry(&eti->extent_list, in __shrink_extent_tree()
956 et = en->et; in __shrink_extent_tree()
959 list_move_tail(&en->list, &eti->extent_list); in __shrink_extent_tree()
963 list_del_init(&en->list); in __shrink_extent_tree()
966 __detach_extent_node(sbi, et, en); in __shrink_extent_tree()