Lines Matching refs:sbi
45 static unsigned char *__struct_ptr(struct f2fs_sb_info *sbi, int struct_type) in __struct_ptr() argument
48 return (unsigned char *)sbi->gc_thread; in __struct_ptr()
50 return (unsigned char *)SM_I(sbi); in __struct_ptr()
52 return (unsigned char *)SM_I(sbi)->dcc_info; in __struct_ptr()
54 return (unsigned char *)NM_I(sbi); in __struct_ptr()
56 return (unsigned char *)sbi; in __struct_ptr()
60 return (unsigned char *)&F2FS_OPTION(sbi).fault_info; in __struct_ptr()
66 struct f2fs_sb_info *sbi, char *buf) in dirty_segments_show() argument
69 (unsigned long long)(dirty_segments(sbi))); in dirty_segments_show()
73 struct f2fs_sb_info *sbi, char *buf) in unusable_show() argument
77 if (test_opt(sbi, DISABLE_CHECKPOINT)) in unusable_show()
78 unusable = sbi->unusable_block_count; in unusable_show()
80 unusable = f2fs_get_unusable_blocks(sbi); in unusable_show()
86 struct f2fs_sb_info *sbi, char *buf) in encoding_show() argument
89 if (f2fs_sb_has_casefold(sbi)) in encoding_show()
91 sbi->s_encoding->charset, in encoding_show()
92 (sbi->s_encoding->version >> 16) & 0xff, in encoding_show()
93 (sbi->s_encoding->version >> 8) & 0xff, in encoding_show()
94 sbi->s_encoding->version & 0xff); in encoding_show()
100 struct f2fs_sb_info *sbi, char *buf) in lifetime_write_kbytes_show() argument
102 struct super_block *sb = sbi->sb; in lifetime_write_kbytes_show()
108 (unsigned long long)(sbi->kbytes_written + in lifetime_write_kbytes_show()
109 BD_PART_WRITTEN(sbi))); in lifetime_write_kbytes_show()
113 struct f2fs_sb_info *sbi, char *buf) in features_show() argument
115 struct super_block *sb = sbi->sb; in features_show()
121 if (f2fs_sb_has_encrypt(sbi)) in features_show()
124 if (f2fs_sb_has_blkzoned(sbi)) in features_show()
127 if (f2fs_sb_has_extra_attr(sbi)) in features_show()
130 if (f2fs_sb_has_project_quota(sbi)) in features_show()
133 if (f2fs_sb_has_inode_chksum(sbi)) in features_show()
136 if (f2fs_sb_has_flexible_inline_xattr(sbi)) in features_show()
139 if (f2fs_sb_has_quota_ino(sbi)) in features_show()
142 if (f2fs_sb_has_inode_crtime(sbi)) in features_show()
145 if (f2fs_sb_has_lost_found(sbi)) in features_show()
148 if (f2fs_sb_has_verity(sbi)) in features_show()
151 if (f2fs_sb_has_sb_chksum(sbi)) in features_show()
154 if (f2fs_sb_has_casefold(sbi)) in features_show()
162 struct f2fs_sb_info *sbi, char *buf) in current_reserved_blocks_show() argument
164 return snprintf(buf, PAGE_SIZE, "%u\n", sbi->current_reserved_blocks); in current_reserved_blocks_show()
168 struct f2fs_sb_info *sbi, char *buf) in f2fs_sbi_show() argument
173 ptr = __struct_ptr(sbi, a->struct_type); in f2fs_sbi_show()
179 sbi->raw_super->extension_list; in f2fs_sbi_show()
180 int cold_count = le32_to_cpu(sbi->raw_super->extension_count); in f2fs_sbi_show()
181 int hot_count = sbi->raw_super->hot_ext_count; in f2fs_sbi_show()
204 struct f2fs_sb_info *sbi, in __sbi_store() argument
212 ptr = __struct_ptr(sbi, a->struct_type); in __sbi_store()
237 down_write(&sbi->sb_lock); in __sbi_store()
239 ret = f2fs_update_extension_list(sbi, name, hot, set); in __sbi_store()
243 ret = f2fs_commit_super(sbi, false); in __sbi_store()
245 f2fs_update_extension_list(sbi, name, hot, !set); in __sbi_store()
247 up_write(&sbi->sb_lock); in __sbi_store()
263 spin_lock(&sbi->stat_lock); in __sbi_store()
264 if (t > (unsigned long)(sbi->user_block_count - in __sbi_store()
265 F2FS_OPTION(sbi).root_reserved_blocks)) { in __sbi_store()
266 spin_unlock(&sbi->stat_lock); in __sbi_store()
270 sbi->current_reserved_blocks = min(sbi->reserved_blocks, in __sbi_store()
271 sbi->user_block_count - valid_user_blocks(sbi)); in __sbi_store()
272 spin_unlock(&sbi->stat_lock); in __sbi_store()
286 if (t == 0 || t > sbi->segs_per_sec) in __sbi_store()
295 sbi->gc_mode = GC_URGENT; in __sbi_store()
296 if (sbi->gc_thread) { in __sbi_store()
297 sbi->gc_thread->gc_wake = 1; in __sbi_store()
299 &sbi->gc_thread->gc_wait_queue_head); in __sbi_store()
300 wake_up_discard_thread(sbi, true); in __sbi_store()
303 sbi->gc_mode = GC_NORMAL; in __sbi_store()
309 sbi->gc_mode = GC_IDLE_CB; in __sbi_store()
311 sbi->gc_mode = GC_IDLE_GREEDY; in __sbi_store()
313 sbi->gc_mode = GC_NORMAL; in __sbi_store()
319 sbi->iostat_enable = !!t; in __sbi_store()
320 if (!sbi->iostat_enable) in __sbi_store()
321 f2fs_reset_iostat(sbi); in __sbi_store()
331 struct f2fs_sb_info *sbi, in f2fs_sbi_store() argument
339 if (!down_read_trylock(&sbi->sb->s_umount)) in f2fs_sbi_store()
342 ret = __sbi_store(a, sbi, buf, count); in f2fs_sbi_store()
344 up_read(&sbi->sb->s_umount); in f2fs_sbi_store()
352 struct f2fs_sb_info *sbi = container_of(kobj, struct f2fs_sb_info, in f2fs_attr_show() local
356 return a->show ? a->show(a, sbi, buf) : 0; in f2fs_attr_show()
362 struct f2fs_sb_info *sbi = container_of(kobj, struct f2fs_sb_info, in f2fs_attr_store() local
366 return a->store ? a->store(a, sbi, buf, len) : 0; in f2fs_attr_store()
371 struct f2fs_sb_info *sbi = container_of(kobj, struct f2fs_sb_info, in f2fs_sb_release() local
373 complete(&sbi->s_kobj_unregister); in f2fs_sb_release()
393 struct f2fs_sb_info *sbi, char *buf) in f2fs_feature_show() argument
608 struct f2fs_sb_info *sbi = F2FS_SB(sb); in segment_info_seq_show() local
610 le32_to_cpu(sbi->raw_super->segment_count_main); in segment_info_seq_show()
617 struct seg_entry *se = get_seg_entry(sbi, i); in segment_info_seq_show()
635 struct f2fs_sb_info *sbi = F2FS_SB(sb); in segment_bits_seq_show() local
637 le32_to_cpu(sbi->raw_super->segment_count_main); in segment_bits_seq_show()
644 struct seg_entry *se = get_seg_entry(sbi, i); in segment_bits_seq_show()
659 struct f2fs_sb_info *sbi = F2FS_SB(sb); in iostat_info_seq_show() local
662 if (!sbi->iostat_enable) in iostat_info_seq_show()
669 sbi->write_iostat[APP_BUFFERED_IO]); in iostat_info_seq_show()
671 sbi->write_iostat[APP_DIRECT_IO]); in iostat_info_seq_show()
673 sbi->write_iostat[APP_MAPPED_IO]); in iostat_info_seq_show()
677 sbi->write_iostat[FS_DATA_IO]); in iostat_info_seq_show()
679 sbi->write_iostat[FS_NODE_IO]); in iostat_info_seq_show()
681 sbi->write_iostat[FS_META_IO]); in iostat_info_seq_show()
683 sbi->write_iostat[FS_GC_DATA_IO]); in iostat_info_seq_show()
685 sbi->write_iostat[FS_GC_NODE_IO]); in iostat_info_seq_show()
687 sbi->write_iostat[FS_CP_DATA_IO]); in iostat_info_seq_show()
689 sbi->write_iostat[FS_CP_NODE_IO]); in iostat_info_seq_show()
691 sbi->write_iostat[FS_CP_META_IO]); in iostat_info_seq_show()
693 sbi->write_iostat[FS_DISCARD]); in iostat_info_seq_show()
702 struct f2fs_sb_info *sbi = F2FS_SB(sb); in victim_bits_seq_show() local
703 struct dirty_seglist_info *dirty_i = DIRTY_I(sbi); in victim_bits_seq_show()
708 for (i = 0; i < MAIN_SECS(sbi); i++) { in victim_bits_seq_show()
712 if ((i % 10) == 9 || i == (MAIN_SECS(sbi) - 1)) in victim_bits_seq_show()
747 int f2fs_register_sysfs(struct f2fs_sb_info *sbi) in f2fs_register_sysfs() argument
749 struct super_block *sb = sbi->sb; in f2fs_register_sysfs()
752 sbi->s_kobj.kset = &f2fs_kset; in f2fs_register_sysfs()
753 init_completion(&sbi->s_kobj_unregister); in f2fs_register_sysfs()
754 err = kobject_init_and_add(&sbi->s_kobj, &f2fs_sb_ktype, NULL, in f2fs_register_sysfs()
760 sbi->s_proc = proc_mkdir(sb->s_id, f2fs_proc_root); in f2fs_register_sysfs()
762 if (sbi->s_proc) { in f2fs_register_sysfs()
763 proc_create_single_data("segment_info", S_IRUGO, sbi->s_proc, in f2fs_register_sysfs()
765 proc_create_single_data("segment_bits", S_IRUGO, sbi->s_proc, in f2fs_register_sysfs()
767 proc_create_single_data("iostat_info", S_IRUGO, sbi->s_proc, in f2fs_register_sysfs()
769 proc_create_single_data("victim_bits", S_IRUGO, sbi->s_proc, in f2fs_register_sysfs()
775 void f2fs_unregister_sysfs(struct f2fs_sb_info *sbi) in f2fs_unregister_sysfs() argument
777 if (sbi->s_proc) { in f2fs_unregister_sysfs()
778 remove_proc_entry("iostat_info", sbi->s_proc); in f2fs_unregister_sysfs()
779 remove_proc_entry("segment_info", sbi->s_proc); in f2fs_unregister_sysfs()
780 remove_proc_entry("segment_bits", sbi->s_proc); in f2fs_unregister_sysfs()
781 remove_proc_entry("victim_bits", sbi->s_proc); in f2fs_unregister_sysfs()
782 remove_proc_entry(sbi->sb->s_id, f2fs_proc_root); in f2fs_unregister_sysfs()
784 kobject_del(&sbi->s_kobj); in f2fs_unregister_sysfs()