| /kernel/linux/linux-6.6/fs/f2fs/ |
| D | super.c | 67 void f2fs_build_fault_attr(struct f2fs_sb_info *sbi, unsigned int rate, in f2fs_build_fault_attr() argument 70 struct f2fs_fault_info *ffi = &F2FS_OPTION(sbi).fault_info; in f2fs_build_fault_attr() 251 void f2fs_printk(struct f2fs_sb_info *sbi, const char *fmt, ...) in f2fs_printk() argument 263 KERN_SOH_ASCII, level, sbi->sb->s_id, &vaf); in f2fs_printk() 307 static inline void limit_reserve_root(struct f2fs_sb_info *sbi) in limit_reserve_root() argument 309 block_t limit = min((sbi->user_block_count >> 3), in limit_reserve_root() 310 sbi->user_block_count - sbi->reserved_blocks); in limit_reserve_root() 313 if (test_opt(sbi, RESERVE_ROOT) && in limit_reserve_root() 314 F2FS_OPTION(sbi).root_reserved_blocks > limit) { in limit_reserve_root() 315 F2FS_OPTION(sbi).root_reserved_blocks = limit; in limit_reserve_root() [all …]
|
| D | checkpoint.c | 29 void f2fs_stop_checkpoint(struct f2fs_sb_info *sbi, bool end_io, in f2fs_stop_checkpoint() argument 32 f2fs_build_fault_attr(sbi, 0, 0); in f2fs_stop_checkpoint() 34 f2fs_flush_merged_writes(sbi); in f2fs_stop_checkpoint() 35 f2fs_handle_critical_error(sbi, reason, end_io); in f2fs_stop_checkpoint() 41 struct page *f2fs_grab_meta_page(struct f2fs_sb_info *sbi, pgoff_t index) in f2fs_grab_meta_page() argument 43 struct address_space *mapping = META_MAPPING(sbi); in f2fs_grab_meta_page() 57 static struct page *__get_meta_page(struct f2fs_sb_info *sbi, pgoff_t index, in __get_meta_page() argument 60 struct address_space *mapping = META_MAPPING(sbi); in __get_meta_page() 63 .sbi = sbi, in __get_meta_page() 93 f2fs_update_iostat(sbi, NULL, FS_META_READ_IO, F2FS_BLKSIZE); in __get_meta_page() [all …]
|
| D | segment.h | 29 static inline void sanity_check_seg_type(struct f2fs_sb_info *sbi, in sanity_check_seg_type() argument 32 f2fs_bug_on(sbi, seg_type >= NR_PERSISTENT_LOG); in sanity_check_seg_type() 39 #define IS_CURSEG(sbi, seg) \ argument 40 (((seg) == CURSEG_I(sbi, CURSEG_HOT_DATA)->segno) || \ 41 ((seg) == CURSEG_I(sbi, CURSEG_WARM_DATA)->segno) || \ 42 ((seg) == CURSEG_I(sbi, CURSEG_COLD_DATA)->segno) || \ 43 ((seg) == CURSEG_I(sbi, CURSEG_HOT_NODE)->segno) || \ 44 ((seg) == CURSEG_I(sbi, CURSEG_WARM_NODE)->segno) || \ 45 ((seg) == CURSEG_I(sbi, CURSEG_COLD_NODE)->segno) || \ 46 ((seg) == CURSEG_I(sbi, CURSEG_COLD_DATA_PINNED)->segno) || \ [all …]
|
| D | segment.c | 171 bool f2fs_need_SSR(struct f2fs_sb_info *sbi) in f2fs_need_SSR() argument 173 int node_secs = get_blocktype_secs(sbi, F2FS_DIRTY_NODES); in f2fs_need_SSR() 174 int dent_secs = get_blocktype_secs(sbi, F2FS_DIRTY_DENTS); in f2fs_need_SSR() 175 int imeta_secs = get_blocktype_secs(sbi, F2FS_DIRTY_IMETA); in f2fs_need_SSR() 177 if (f2fs_lfs_mode(sbi)) in f2fs_need_SSR() 179 if (sbi->gc_mode == GC_URGENT_HIGH) in f2fs_need_SSR() 181 if (unlikely(is_sbi_flag_set(sbi, SBI_CP_DISABLED))) in f2fs_need_SSR() 184 return free_sections(sbi) <= (node_secs + 2 * dent_secs + imeta_secs + in f2fs_need_SSR() 185 SM_I(sbi)->min_ssr_sections + reserved_sections(sbi)); in f2fs_need_SSR() 215 struct f2fs_sb_info *sbi = F2FS_I_SB(inode); in __replace_atomic_write_block() local [all …]
|
| D | gc.c | 33 struct f2fs_sb_info *sbi = data; in gc_thread_func() local 34 struct f2fs_gc_kthread *gc_th = sbi->gc_thread; in gc_thread_func() 35 wait_queue_head_t *wq = &sbi->gc_thread->gc_wait_queue_head; in gc_thread_func() 36 wait_queue_head_t *fggc_wq = &sbi->gc_thread->fggc_wq; in gc_thread_func() 55 if (test_opt(sbi, GC_MERGE) && waitqueue_active(fggc_wq)) in gc_thread_func() 62 if (try_to_freeze() || f2fs_readonly(sbi->sb)) { in gc_thread_func() 63 stat_other_skip_bggc_count(sbi); in gc_thread_func() 69 if (sbi->sb->s_writers.frozen >= SB_FREEZE_WRITE) { in gc_thread_func() 71 stat_other_skip_bggc_count(sbi); in gc_thread_func() 75 if (time_to_inject(sbi, FAULT_CHECKPOINT)) in gc_thread_func() [all …]
|
| D | iostat.c | 20 static inline unsigned long long iostat_get_avg_bytes(struct f2fs_sb_info *sbi, in iostat_get_avg_bytes() argument 23 return sbi->iostat_count[type] ? div64_u64(sbi->iostat_bytes[type], in iostat_get_avg_bytes() 24 sbi->iostat_count[type]) : 0; in iostat_get_avg_bytes() 29 name":", sbi->iostat_bytes[type], \ 30 sbi->iostat_count[type], \ 31 iostat_get_avg_bytes(sbi, type)) 36 struct f2fs_sb_info *sbi = F2FS_SB(sb); in iostat_info_seq_show() local 38 if (!sbi->iostat_enable) in iostat_info_seq_show() 88 static inline void __record_iostat_latency(struct f2fs_sb_info *sbi) in __record_iostat_latency() argument 92 struct iostat_lat_info *io_lat = sbi->iostat_io_lat; in __record_iostat_latency() [all …]
|
| /kernel/linux/linux-5.10/fs/f2fs/ |
| D | checkpoint.c | 26 void f2fs_stop_checkpoint(struct f2fs_sb_info *sbi, bool end_io) in f2fs_stop_checkpoint() argument 28 f2fs_build_fault_attr(sbi, 0, 0); in f2fs_stop_checkpoint() 29 set_ckpt_flags(sbi, CP_ERROR_FLAG); in f2fs_stop_checkpoint() 31 f2fs_flush_merged_writes(sbi); in f2fs_stop_checkpoint() 37 struct page *f2fs_grab_meta_page(struct f2fs_sb_info *sbi, pgoff_t index) in f2fs_grab_meta_page() argument 39 struct address_space *mapping = META_MAPPING(sbi); in f2fs_grab_meta_page() 53 static struct page *__get_meta_page(struct f2fs_sb_info *sbi, pgoff_t index, in __get_meta_page() argument 56 struct address_space *mapping = META_MAPPING(sbi); in __get_meta_page() 59 .sbi = sbi, in __get_meta_page() 89 f2fs_update_iostat(sbi, FS_META_READ_IO, F2FS_BLKSIZE); in __get_meta_page() [all …]
|
| D | super.c | 74 void f2fs_build_fault_attr(struct f2fs_sb_info *sbi, unsigned int rate, in f2fs_build_fault_attr() argument 77 struct f2fs_fault_info *ffi = &F2FS_OPTION(sbi).fault_info; in f2fs_build_fault_attr() 238 void f2fs_printk(struct f2fs_sb_info *sbi, const char *fmt, ...) in f2fs_printk() argument 250 KERN_SOH_ASCII, level, sbi->sb->s_id, &vaf); in f2fs_printk() 285 static inline void limit_reserve_root(struct f2fs_sb_info *sbi) in limit_reserve_root() argument 287 block_t limit = min((sbi->user_block_count >> 3), in limit_reserve_root() 288 sbi->user_block_count - sbi->reserved_blocks); in limit_reserve_root() 291 if (test_opt(sbi, RESERVE_ROOT) && in limit_reserve_root() 292 F2FS_OPTION(sbi).root_reserved_blocks > limit) { in limit_reserve_root() 293 F2FS_OPTION(sbi).root_reserved_blocks = limit; in limit_reserve_root() [all …]
|
| D | segment.c | 187 bool f2fs_need_SSR(struct f2fs_sb_info *sbi) in f2fs_need_SSR() argument 189 int node_secs = get_blocktype_secs(sbi, F2FS_DIRTY_NODES); in f2fs_need_SSR() 190 int dent_secs = get_blocktype_secs(sbi, F2FS_DIRTY_DENTS); in f2fs_need_SSR() 191 int imeta_secs = get_blocktype_secs(sbi, F2FS_DIRTY_IMETA); in f2fs_need_SSR() 193 if (f2fs_lfs_mode(sbi)) in f2fs_need_SSR() 195 if (sbi->gc_mode == GC_URGENT_HIGH) in f2fs_need_SSR() 197 if (unlikely(is_sbi_flag_set(sbi, SBI_CP_DISABLED))) in f2fs_need_SSR() 200 return free_sections(sbi) <= (node_secs + 2 * dent_secs + imeta_secs + in f2fs_need_SSR() 201 SM_I(sbi)->min_ssr_sections + reserved_sections(sbi)); in f2fs_need_SSR() 205 static bool need_ssr_by_type(struct f2fs_sb_info *sbi, int type, int contig_level) in need_ssr_by_type() argument [all …]
|
| D | segment.h | 29 static inline void sanity_check_seg_type(struct f2fs_sb_info *sbi, in sanity_check_seg_type() argument 32 f2fs_bug_on(sbi, seg_type >= NR_PERSISTENT_LOG); in sanity_check_seg_type() 39 #define IS_CURSEG(sbi, seg) \ argument 40 (((seg) == CURSEG_I(sbi, CURSEG_HOT_DATA)->segno) || \ 41 ((seg) == CURSEG_I(sbi, CURSEG_WARM_DATA)->segno) || \ 42 ((seg) == CURSEG_I(sbi, CURSEG_COLD_DATA)->segno) || \ 43 ((seg) == CURSEG_I(sbi, CURSEG_HOT_NODE)->segno) || \ 44 ((seg) == CURSEG_I(sbi, CURSEG_WARM_NODE)->segno) || \ 45 ((seg) == CURSEG_I(sbi, CURSEG_COLD_NODE)->segno) || \ 46 ((seg) == CURSEG_I(sbi, CURSEG_COLD_DATA_PINNED)->segno) || \ [all …]
|
| D | gc.c | 32 struct f2fs_sb_info *sbi = data; in gc_thread_func() local 33 struct f2fs_gc_kthread *gc_th = sbi->gc_thread; in gc_thread_func() 34 wait_queue_head_t *wq = &sbi->gc_thread->gc_wait_queue_head; in gc_thread_func() 35 wait_queue_head_t *fggc_wq = &sbi->gc_thread->fggc_wq; in gc_thread_func() 50 if (test_opt(sbi, GC_MERGE) && waitqueue_active(fggc_wq)) in gc_thread_func() 58 stat_other_skip_bggc_count(sbi); in gc_thread_func() 64 if (sbi->sb->s_writers.frozen >= SB_FREEZE_WRITE) { in gc_thread_func() 66 stat_other_skip_bggc_count(sbi); in gc_thread_func() 70 if (time_to_inject(sbi, FAULT_CHECKPOINT)) { in gc_thread_func() 71 f2fs_show_injection_info(sbi, FAULT_CHECKPOINT); in gc_thread_func() [all …]
|
| D | debug.c | 32 void f2fs_update_sit_info(struct f2fs_sb_info *sbi) in f2fs_update_sit_info() argument 34 struct f2fs_stat_info *si = F2FS_STAT(sbi); in f2fs_update_sit_info() 42 blks_per_sec = BLKS_PER_SEC(sbi); in f2fs_update_sit_info() 44 for (segno = 0; segno < MAIN_SEGS(sbi); segno += sbi->segs_per_sec) { in f2fs_update_sit_info() 45 vblocks = get_valid_blocks(sbi, segno, true); in f2fs_update_sit_info() 54 dist = div_u64(MAIN_SECS(sbi) * hblks_per_sec * hblks_per_sec, 100); in f2fs_update_sit_info() 63 static void update_general_status(struct f2fs_sb_info *sbi) in update_general_status() argument 65 struct f2fs_stat_info *si = F2FS_STAT(sbi); in update_general_status() 66 struct f2fs_super_block *raw_super = F2FS_RAW_SUPER(sbi); in update_general_status() 76 si->hit_largest = atomic64_read(&sbi->read_hit_largest); in update_general_status() [all …]
|
| D | sysfs.c | 53 struct f2fs_sb_info *sbi, char *buf); 55 static unsigned char *__struct_ptr(struct f2fs_sb_info *sbi, int struct_type) in __struct_ptr() argument 58 return (unsigned char *)sbi->gc_thread; in __struct_ptr() 60 return (unsigned char *)SM_I(sbi); in __struct_ptr() 62 return (unsigned char *)SM_I(sbi)->dcc_info; in __struct_ptr() 64 return (unsigned char *)NM_I(sbi); in __struct_ptr() 66 return (unsigned char *)sbi; in __struct_ptr() 69 return (unsigned char *)&sbi->hot_cold_params; in __struct_ptr() 74 return (unsigned char *)&F2FS_OPTION(sbi).fault_info; in __struct_ptr() 78 return (unsigned char *)F2FS_STAT(sbi); in __struct_ptr() [all …]
|
| /kernel/linux/linux-6.6/fs/sysv/ |
| D | super.c | 48 static void detected_xenix(struct sysv_sb_info *sbi, unsigned *max_links) in detected_xenix() argument 50 struct buffer_head *bh1 = sbi->s_bh1; in detected_xenix() 51 struct buffer_head *bh2 = sbi->s_bh2; in detected_xenix() 64 sbi->s_fic_size = XENIX_NICINOD; in detected_xenix() 65 sbi->s_flc_size = XENIX_NICFREE; in detected_xenix() 66 sbi->s_sbd1 = (char *)sbd1; in detected_xenix() 67 sbi->s_sbd2 = (char *)sbd2; in detected_xenix() 68 sbi->s_sb_fic_count = &sbd1->s_ninode; in detected_xenix() 69 sbi->s_sb_fic_inodes = &sbd1->s_inode[0]; in detected_xenix() 70 sbi->s_sb_total_free_inodes = &sbd2->s_tinode; in detected_xenix() [all …]
|
| D | balloc.c | 45 struct sysv_sb_info * sbi = SYSV_SB(sb); in sysv_free_block() local 47 sysv_zone_t *blocks = sbi->s_bcache; in sysv_free_block() 49 unsigned block = fs32_to_cpu(sbi, nr); in sysv_free_block() 56 if (sbi->s_type == FSTYPE_AFS) in sysv_free_block() 59 if (block < sbi->s_firstdatazone || block >= sbi->s_nzones) { in sysv_free_block() 64 mutex_lock(&sbi->s_lock); in sysv_free_block() 65 count = fs16_to_cpu(sbi, *sbi->s_bcache_count); in sysv_free_block() 67 if (count > sbi->s_flc_size) { in sysv_free_block() 69 mutex_unlock(&sbi->s_lock); in sysv_free_block() 76 if (count == sbi->s_flc_size || count == 0) { in sysv_free_block() [all …]
|
| /kernel/linux/linux-5.10/fs/sysv/ |
| D | super.c | 48 static void detected_xenix(struct sysv_sb_info *sbi, unsigned *max_links) in detected_xenix() argument 50 struct buffer_head *bh1 = sbi->s_bh1; in detected_xenix() 51 struct buffer_head *bh2 = sbi->s_bh2; in detected_xenix() 64 sbi->s_fic_size = XENIX_NICINOD; in detected_xenix() 65 sbi->s_flc_size = XENIX_NICFREE; in detected_xenix() 66 sbi->s_sbd1 = (char *)sbd1; in detected_xenix() 67 sbi->s_sbd2 = (char *)sbd2; in detected_xenix() 68 sbi->s_sb_fic_count = &sbd1->s_ninode; in detected_xenix() 69 sbi->s_sb_fic_inodes = &sbd1->s_inode[0]; in detected_xenix() 70 sbi->s_sb_total_free_inodes = &sbd2->s_tinode; in detected_xenix() [all …]
|
| D | balloc.c | 45 struct sysv_sb_info * sbi = SYSV_SB(sb); in sysv_free_block() local 47 sysv_zone_t *blocks = sbi->s_bcache; in sysv_free_block() 49 unsigned block = fs32_to_cpu(sbi, nr); in sysv_free_block() 56 if (sbi->s_type == FSTYPE_AFS) in sysv_free_block() 59 if (block < sbi->s_firstdatazone || block >= sbi->s_nzones) { in sysv_free_block() 64 mutex_lock(&sbi->s_lock); in sysv_free_block() 65 count = fs16_to_cpu(sbi, *sbi->s_bcache_count); in sysv_free_block() 67 if (count > sbi->s_flc_size) { in sysv_free_block() 69 mutex_unlock(&sbi->s_lock); in sysv_free_block() 76 if (count == sbi->s_flc_size || count == 0) { in sysv_free_block() [all …]
|
| /kernel/linux/linux-5.10/fs/hmdfs/ |
| D | main.c | 277 struct hmdfs_sb_info *sbi = hmdfs_sb(sb); in hmdfs_put_super() local 278 struct super_block *lower_sb = sbi->lower_sb; in hmdfs_put_super() 280 hmdfs_info("local_dst is %s, local_src is %s", sbi->local_dst, in hmdfs_put_super() 281 sbi->local_src); in hmdfs_put_super() 283 hmdfs_cfn_destroy(sbi); in hmdfs_put_super() 284 hmdfs_unregister_sysfs(sbi); in hmdfs_put_super() 285 hmdfs_connections_stop(sbi); in hmdfs_put_super() 286 hmdfs_clear_share_table(sbi); in hmdfs_put_super() 287 hmdfs_destroy_server_writeback(sbi); in hmdfs_put_super() 288 hmdfs_exit_stash(sbi); in hmdfs_put_super() [all …]
|
| /kernel/linux/linux-6.6/fs/hmdfs/ |
| D | main.c | 277 struct hmdfs_sb_info *sbi = hmdfs_sb(sb); in hmdfs_put_super() local 278 struct super_block *lower_sb = sbi->lower_sb; in hmdfs_put_super() 280 hmdfs_info("local_dst is %s, local_src is %s", sbi->local_dst, in hmdfs_put_super() 281 sbi->local_src); in hmdfs_put_super() 283 hmdfs_cfn_destroy(sbi); in hmdfs_put_super() 284 hmdfs_unregister_sysfs(sbi); in hmdfs_put_super() 285 hmdfs_connections_stop(sbi); in hmdfs_put_super() 286 hmdfs_clear_share_table(sbi); in hmdfs_put_super() 287 hmdfs_destroy_server_writeback(sbi); in hmdfs_put_super() 288 hmdfs_exit_stash(sbi); in hmdfs_put_super() [all …]
|
| /kernel/linux/linux-5.10/fs/autofs/ |
| D | inode.c | 13 struct autofs_info *autofs_new_ino(struct autofs_sb_info *sbi) in autofs_new_ino() argument 22 ino->sbi = sbi; in autofs_new_ino() 41 struct autofs_sb_info *sbi = autofs_sbi(sb); in autofs_kill_sb() local 49 if (sbi) { in autofs_kill_sb() 51 autofs_catatonic_mode(sbi); in autofs_kill_sb() 52 put_pid(sbi->oz_pgrp); in autofs_kill_sb() 57 if (sbi) in autofs_kill_sb() 58 kfree_rcu(sbi, rcu); in autofs_kill_sb() 63 struct autofs_sb_info *sbi = autofs_sbi(root->d_sb); in autofs_show_options() local 66 if (!sbi) in autofs_show_options() [all …]
|
| /kernel/linux/linux-6.6/fs/autofs/ |
| D | inode.c | 13 struct autofs_info *autofs_new_ino(struct autofs_sb_info *sbi) in autofs_new_ino() argument 22 ino->sbi = sbi; in autofs_new_ino() 42 struct autofs_sb_info *sbi = autofs_sbi(sb); in autofs_kill_sb() local 50 if (sbi) { in autofs_kill_sb() 52 autofs_catatonic_mode(sbi); in autofs_kill_sb() 53 put_pid(sbi->oz_pgrp); in autofs_kill_sb() 58 if (sbi) in autofs_kill_sb() 59 kfree_rcu(sbi, rcu); in autofs_kill_sb() 64 struct autofs_sb_info *sbi = autofs_sbi(root->d_sb); in autofs_show_options() local 67 if (!sbi) in autofs_show_options() [all …]
|
| /kernel/linux/linux-6.6/fs/hfsplus/ |
| D | super.c | 102 struct hfsplus_sb_info *sbi = HFSPLUS_SB(inode->i_sb); in hfsplus_system_write_inode() local 103 struct hfsplus_vh *vhdr = sbi->s_vhdr; in hfsplus_system_write_inode() 110 tree = sbi->ext_tree; in hfsplus_system_write_inode() 114 tree = sbi->cat_tree; in hfsplus_system_write_inode() 124 tree = sbi->attr_tree; in hfsplus_system_write_inode() 131 set_bit(HFSPLUS_SB_WRITEBACKUP, &sbi->flags); in hfsplus_system_write_inode() 178 struct hfsplus_sb_info *sbi = HFSPLUS_SB(sb); in hfsplus_sync_fs() local 179 struct hfsplus_vh *vhdr = sbi->s_vhdr; in hfsplus_sync_fs() 196 error = filemap_write_and_wait(sbi->cat_tree->inode->i_mapping); in hfsplus_sync_fs() 197 error2 = filemap_write_and_wait(sbi->ext_tree->inode->i_mapping); in hfsplus_sync_fs() [all …]
|
| /kernel/linux/linux-5.10/fs/hfsplus/ |
| D | super.c | 102 struct hfsplus_sb_info *sbi = HFSPLUS_SB(inode->i_sb); in hfsplus_system_write_inode() local 103 struct hfsplus_vh *vhdr = sbi->s_vhdr; in hfsplus_system_write_inode() 110 tree = sbi->ext_tree; in hfsplus_system_write_inode() 114 tree = sbi->cat_tree; in hfsplus_system_write_inode() 124 tree = sbi->attr_tree; in hfsplus_system_write_inode() 131 set_bit(HFSPLUS_SB_WRITEBACKUP, &sbi->flags); in hfsplus_system_write_inode() 178 struct hfsplus_sb_info *sbi = HFSPLUS_SB(sb); in hfsplus_sync_fs() local 179 struct hfsplus_vh *vhdr = sbi->s_vhdr; in hfsplus_sync_fs() 196 error = filemap_write_and_wait(sbi->cat_tree->inode->i_mapping); in hfsplus_sync_fs() 197 error2 = filemap_write_and_wait(sbi->ext_tree->inode->i_mapping); in hfsplus_sync_fs() [all …]
|
| /kernel/linux/linux-5.10/fs/exfat/ |
| D | super.c | 27 static void exfat_free_iocharset(struct exfat_sb_info *sbi) in exfat_free_iocharset() argument 29 if (sbi->options.iocharset != exfat_default_iocharset) in exfat_free_iocharset() 30 kfree(sbi->options.iocharset); in exfat_free_iocharset() 35 struct exfat_sb_info *sbi = container_of(p, struct exfat_sb_info, rcu); in exfat_delayed_free() local 37 unload_nls(sbi->nls_io); in exfat_delayed_free() 38 exfat_free_iocharset(sbi); in exfat_delayed_free() 39 exfat_free_upcase_table(sbi); in exfat_delayed_free() 40 kfree(sbi); in exfat_delayed_free() 45 struct exfat_sb_info *sbi = EXFAT_SB(sb); in exfat_put_super() local 47 mutex_lock(&sbi->s_lock); in exfat_put_super() [all …]
|
| /kernel/linux/linux-6.6/fs/exfat/ |
| D | super.c | 28 static void exfat_free_iocharset(struct exfat_sb_info *sbi) in exfat_free_iocharset() argument 30 if (sbi->options.iocharset != exfat_default_iocharset) in exfat_free_iocharset() 31 kfree(sbi->options.iocharset); in exfat_free_iocharset() 36 struct exfat_sb_info *sbi = EXFAT_SB(sb); in exfat_put_super() local 38 mutex_lock(&sbi->s_lock); in exfat_put_super() 39 exfat_free_bitmap(sbi); in exfat_put_super() 40 brelse(sbi->boot_bh); in exfat_put_super() 41 mutex_unlock(&sbi->s_lock); in exfat_put_super() 43 unload_nls(sbi->nls_io); in exfat_put_super() 44 exfat_free_upcase_table(sbi); in exfat_put_super() [all …]
|