Lines Matching refs:en

28 	struct extent_node *en;  in __attach_extent_node()  local
30 en = kmem_cache_alloc(extent_node_slab, GFP_ATOMIC); in __attach_extent_node()
31 if (!en) in __attach_extent_node()
34 en->ei = *ei; in __attach_extent_node()
35 INIT_LIST_HEAD(&en->list); in __attach_extent_node()
37 rb_link_node(&en->rb_node, parent, p); in __attach_extent_node()
38 rb_insert_color(&en->rb_node, &et->root); in __attach_extent_node()
41 return en; in __attach_extent_node()
45 struct extent_tree *et, struct extent_node *en) in __detach_extent_node() argument
47 rb_erase(&en->rb_node, &et->root); in __detach_extent_node()
51 if (et->cached_en == en) in __detach_extent_node()
88 struct extent_node *en = et->cached_en; in __lookup_extent_tree() local
90 if (en) { in __lookup_extent_tree()
91 struct extent_info *cei = &en->ei; in __lookup_extent_tree()
95 return en; in __lookup_extent_tree()
100 en = rb_entry(node, struct extent_node, rb_node); in __lookup_extent_tree()
102 if (fofs < en->ei.fofs) { in __lookup_extent_tree()
104 } else if (fofs >= en->ei.fofs + en->ei.len) { in __lookup_extent_tree()
108 return en; in __lookup_extent_tree()
118 struct extent_node *en; in __init_extent_tree() local
120 en = __attach_extent_node(sbi, et, ei, NULL, p); in __init_extent_tree()
121 if (!en) in __init_extent_tree()
124 et->largest = en->ei; in __init_extent_tree()
125 et->cached_en = en; in __init_extent_tree()
126 return en; in __init_extent_tree()
133 struct extent_node *en; in __free_extent_tree() local
139 en = rb_entry(node, struct extent_node, rb_node); in __free_extent_tree()
143 if (!list_empty(&en->list)) in __free_extent_tree()
144 list_del_init(&en->list); in __free_extent_tree()
148 if (free_all || list_empty(&en->list)) { in __free_extent_tree()
149 __detach_extent_node(sbi, et, en); in __free_extent_tree()
150 kmem_cache_free(extent_node_slab, en); in __free_extent_tree()
179 struct extent_node *en; in f2fs_init_extent_tree() local
197 en = __init_extent_tree(sbi, et, &ei); in f2fs_init_extent_tree()
198 if (en) { in f2fs_init_extent_tree()
200 list_add_tail(&en->list, &sbi->extent_list); in f2fs_init_extent_tree()
212 struct extent_node *en; in f2fs_lookup_extent_tree() local
229 en = __lookup_extent_tree(sbi, et, pgofs); in f2fs_lookup_extent_tree()
230 if (en) { in f2fs_lookup_extent_tree()
231 *ei = en->ei; in f2fs_lookup_extent_tree()
233 if (!list_empty(&en->list)) in f2fs_lookup_extent_tree()
234 list_move_tail(&en->list, &sbi->extent_list); in f2fs_lookup_extent_tree()
235 et->cached_en = en; in f2fs_lookup_extent_tree()
266 struct extent_node *en = et->cached_en; in __lookup_extent_tree_ret() local
276 if (en) { in __lookup_extent_tree_ret()
277 struct extent_info *cei = &en->ei; in __lookup_extent_tree_ret()
285 en = rb_entry(*pnode, struct extent_node, rb_node); in __lookup_extent_tree_ret()
287 if (fofs < en->ei.fofs) in __lookup_extent_tree_ret()
289 else if (fofs >= en->ei.fofs + en->ei.len) in __lookup_extent_tree_ret()
298 en = rb_entry(parent, struct extent_node, rb_node); in __lookup_extent_tree_ret()
300 if (parent && fofs > en->ei.fofs) in __lookup_extent_tree_ret()
306 if (parent && fofs < en->ei.fofs) in __lookup_extent_tree_ret()
313 if (fofs == en->ei.fofs) { in __lookup_extent_tree_ret()
315 tmp_node = rb_prev(&en->rb_node); in __lookup_extent_tree_ret()
319 if (fofs == en->ei.fofs + en->ei.len - 1) { in __lookup_extent_tree_ret()
321 tmp_node = rb_next(&en->rb_node); in __lookup_extent_tree_ret()
325 return en; in __lookup_extent_tree_ret()
334 struct extent_node *en = NULL; in __try_merge_extent_node() local
339 en = prev_ex; in __try_merge_extent_node()
343 if (en) { in __try_merge_extent_node()
350 en = next_ex; in __try_merge_extent_node()
353 if (en) { in __try_merge_extent_node()
354 __try_update_largest_extent(et, en); in __try_merge_extent_node()
355 et->cached_en = en; in __try_merge_extent_node()
357 return en; in __try_merge_extent_node()
367 struct extent_node *en = NULL; in __insert_extent_tree() local
377 en = rb_entry(parent, struct extent_node, rb_node); in __insert_extent_tree()
379 if (ei->fofs < en->ei.fofs) in __insert_extent_tree()
381 else if (ei->fofs >= en->ei.fofs + en->ei.len) in __insert_extent_tree()
387 en = __attach_extent_node(sbi, et, ei, parent, p); in __insert_extent_tree()
388 if (!en) in __insert_extent_tree()
391 __try_update_largest_extent(et, en); in __insert_extent_tree()
392 et->cached_en = en; in __insert_extent_tree()
393 return en; in __insert_extent_tree()
401 struct extent_node *en = NULL, *en1 = NULL; in f2fs_update_extent_tree_range() local
430 en = __lookup_extent_tree_ret(et, fofs, &prev_en, &next_en, in f2fs_update_extent_tree_range()
432 if (!en) in f2fs_update_extent_tree_range()
433 en = next_en; in f2fs_update_extent_tree_range()
436 while (en && en->ei.fofs < end) { in f2fs_update_extent_tree_range()
442 dei = en->ei; in f2fs_update_extent_tree_range()
447 en->ei.len = pos - en->ei.fofs; in f2fs_update_extent_tree_range()
448 prev_en = en; in f2fs_update_extent_tree_range()
461 en->ei.fofs = end; in f2fs_update_extent_tree_range()
462 en->ei.blk += end - dei.fofs; in f2fs_update_extent_tree_range()
463 en->ei.len -= end - dei.fofs; in f2fs_update_extent_tree_range()
464 next_en = en; in f2fs_update_extent_tree_range()
470 struct rb_node *node = rb_next(&en->rb_node); in f2fs_update_extent_tree_range()
478 __try_update_largest_extent(et, en); in f2fs_update_extent_tree_range()
480 __detach_extent_node(sbi, et, en); in f2fs_update_extent_tree_range()
494 if (!parts && !list_empty(&en->list)) in f2fs_update_extent_tree_range()
495 list_del(&en->list); in f2fs_update_extent_tree_range()
502 kmem_cache_free(extent_node_slab, en); in f2fs_update_extent_tree_range()
504 en = next_en; in f2fs_update_extent_tree_range()
552 struct extent_node *en, *tmp; in f2fs_shrink_extent_tree() local
598 list_for_each_entry_safe(en, tmp, &sbi->extent_list, list) { in f2fs_shrink_extent_tree()
601 list_del_init(&en->list); in f2fs_shrink_extent_tree()