Lines Matching defs:sbi

24 	struct f2fs_sb_info *sbi = F2FS_I_SB(inode);
37 if (is_set_ckpt_flags(sbi, CP_ERROR_FLAG)) {
43 if (!f2fs_is_valid_blkaddr(sbi, ei->blk, DATA_GENERIC_ENHANCE) ||
44 !f2fs_is_valid_blkaddr(sbi, ei->blk + ei->len - 1,
46 set_sbi_flag(sbi, SBI_NEED_FSCK);
47 f2fs_warn(sbi, "%s: inode (ino=%lx) extent info [%u, %u, %u] is incorrect, run fsck to fix",
268 static struct extent_node *__attach_extent_node(struct f2fs_sb_info *sbi,
273 struct extent_tree_info *eti = &sbi->extent_tree[et->type];
276 en = f2fs_kmem_cache_alloc(extent_node_slab, GFP_ATOMIC, false, sbi);
291 static void __detach_extent_node(struct f2fs_sb_info *sbi,
294 struct extent_tree_info *eti = &sbi->extent_tree[et->type];
311 static void __release_extent_node(struct f2fs_sb_info *sbi,
314 struct extent_tree_info *eti = &sbi->extent_tree[et->type];
317 f2fs_bug_on(sbi, list_empty(&en->list));
321 __detach_extent_node(sbi, et, en);
327 struct f2fs_sb_info *sbi = F2FS_I_SB(inode);
328 struct extent_tree_info *eti = &sbi->extent_tree[type];
359 static unsigned int __free_extent_tree(struct f2fs_sb_info *sbi,
370 __release_extent_node(sbi, et, en);
389 struct f2fs_sb_info *sbi = F2FS_I_SB(inode);
390 struct extent_tree_info *eti = &sbi->extent_tree[EX_READ];
417 en = __attach_extent_node(sbi, et, &ei, NULL,
455 struct f2fs_sb_info *sbi = F2FS_I_SB(inode);
456 struct extent_tree_info *eti = &sbi->extent_tree[type];
473 stat_inc_largest_node_hit(sbi);
482 stat_inc_cached_node_hit(sbi, type);
484 stat_inc_rbtree_node_hit(sbi, type);
495 stat_inc_total_hit(sbi, type);
505 static struct extent_node *__try_merge_extent_node(struct f2fs_sb_info *sbi,
510 struct extent_tree_info *eti = &sbi->extent_tree[et->type];
525 __release_extent_node(sbi, et, prev_ex);
544 static struct extent_node *__insert_extent_tree(struct f2fs_sb_info *sbi,
550 struct extent_tree_info *eti = &sbi->extent_tree[et->type];
574 f2fs_bug_on(sbi, 1);
579 en = __attach_extent_node(sbi, et, ei, parent, p, leftmost);
596 struct f2fs_sb_info *sbi = F2FS_I_SB(inode);
653 f2fs_bug_on(sbi, fofs >= org_end);
670 en1 = __insert_extent_tree(sbi, et, &ei,
694 __release_extent_node(sbi, et, en);
717 if (!__try_merge_extent_node(sbi, et, &ei, prev_en, next_en))
718 __insert_extent_tree(sbi, et, &ei,
732 __free_extent_tree(sbi, et);
745 if (!__try_merge_extent_node(sbi, et, &ei, prev_en, next_en))
746 __insert_extent_tree(sbi, et, &ei,
760 struct f2fs_sb_info *sbi = F2FS_I_SB(inode);
788 if (!__try_merge_extent_node(sbi, et, &ei, prev_en, next_en))
789 __insert_extent_tree(sbi, et, &ei,
796 static unsigned long long __calculate_block_age(struct f2fs_sb_info *sbi,
802 unsigned int weight = sbi->last_age_weight;
819 struct f2fs_sb_info *sbi = F2FS_I_SB(inode);
822 atomic64_read(&sbi->allocated_data_blocks);
844 ei->age = __calculate_block_age(sbi, cur_age, tei.age);
852 f2fs_bug_on(sbi, blkaddr == NULL_ADDR);
859 !f2fs_is_valid_blkaddr(sbi, blkaddr, DATA_GENERIC_ENHANCE)) {
860 f2fs_bug_on(sbi, 1);
896 static unsigned int __shrink_extent_tree(struct f2fs_sb_info *sbi, int nr_shrink,
899 struct extent_tree_info *eti = &sbi->extent_tree[type];
915 node_cnt += __free_extent_tree(sbi, et);
918 f2fs_bug_on(sbi, atomic_read(&et->node_cnt));
955 __detach_extent_node(sbi, et, en);
966 trace_f2fs_shrink_extent_tree(sbi, node_cnt, tree_cnt, type);
1012 unsigned int f2fs_shrink_read_extent_tree(struct f2fs_sb_info *sbi, int nr_shrink)
1014 if (!test_opt(sbi, READ_EXTENT_CACHE))
1017 return __shrink_extent_tree(sbi, nr_shrink, EX_READ);
1049 unsigned int f2fs_shrink_age_extent_tree(struct f2fs_sb_info *sbi, int nr_shrink)
1051 if (!test_opt(sbi, AGE_EXTENT_CACHE))
1054 return __shrink_extent_tree(sbi, nr_shrink, EX_BLOCK_AGE);
1060 struct f2fs_sb_info *sbi = F2FS_I_SB(inode);
1068 node_cnt = __free_extent_tree(sbi, et);
1082 struct f2fs_sb_info *sbi = F2FS_I_SB(inode);
1090 __free_extent_tree(sbi, et);
1111 struct f2fs_sb_info *sbi = F2FS_I_SB(inode);
1112 struct extent_tree_info *eti = &sbi->extent_tree[type];
1133 f2fs_bug_on(sbi, atomic_read(&et->node_cnt));
1162 void f2fs_init_extent_cache_info(struct f2fs_sb_info *sbi)
1164 __init_extent_tree_info(&sbi->extent_tree[EX_READ]);
1165 __init_extent_tree_info(&sbi->extent_tree[EX_BLOCK_AGE]);
1168 atomic64_set(&sbi->allocated_data_blocks, 0);
1169 sbi->hot_data_age_threshold = DEF_HOT_DATA_AGE_THRESHOLD;
1170 sbi->warm_data_age_threshold = DEF_WARM_DATA_AGE_THRESHOLD;
1171 sbi->last_age_weight = LAST_AGE_WEIGHT;