/fs/f2fs/ |
D | segment.h | 34 #define IS_CURSEG(sbi, seg) \ argument 35 (((seg) == CURSEG_I(sbi, CURSEG_HOT_DATA)->segno) || \ 36 ((seg) == CURSEG_I(sbi, CURSEG_WARM_DATA)->segno) || \ 37 ((seg) == CURSEG_I(sbi, CURSEG_COLD_DATA)->segno) || \ 38 ((seg) == CURSEG_I(sbi, CURSEG_HOT_NODE)->segno) || \ 39 ((seg) == CURSEG_I(sbi, CURSEG_WARM_NODE)->segno) || \ 40 ((seg) == CURSEG_I(sbi, CURSEG_COLD_NODE)->segno)) 42 #define IS_CURSEC(sbi, secno) \ argument 43 (((secno) == CURSEG_I(sbi, CURSEG_HOT_DATA)->segno / \ 44 (sbi)->segs_per_sec) || \ [all …]
|
D | checkpoint.c | 29 void f2fs_stop_checkpoint(struct f2fs_sb_info *sbi, bool end_io) in f2fs_stop_checkpoint() argument 31 set_ckpt_flags(sbi, CP_ERROR_FLAG); in f2fs_stop_checkpoint() 33 f2fs_flush_merged_writes(sbi); in f2fs_stop_checkpoint() 39 struct page *grab_meta_page(struct f2fs_sb_info *sbi, pgoff_t index) in grab_meta_page() argument 41 struct address_space *mapping = META_MAPPING(sbi); in grab_meta_page() 58 static struct page *__get_meta_page(struct f2fs_sb_info *sbi, pgoff_t index, in __get_meta_page() argument 61 struct address_space *mapping = META_MAPPING(sbi); in __get_meta_page() 64 .sbi = sbi, in __get_meta_page() 104 f2fs_stop_checkpoint(sbi, false); in __get_meta_page() 109 struct page *get_meta_page(struct f2fs_sb_info *sbi, pgoff_t index) in get_meta_page() argument [all …]
|
D | super.c | 60 static void f2fs_build_fault_attr(struct f2fs_sb_info *sbi, in f2fs_build_fault_attr() argument 63 struct f2fs_fault_info *ffi = &F2FS_OPTION(sbi).fault_info; in f2fs_build_fault_attr() 208 static inline void limit_reserve_root(struct f2fs_sb_info *sbi) in limit_reserve_root() argument 210 block_t limit = (sbi->user_block_count << 1) / 1000; in limit_reserve_root() 213 if (test_opt(sbi, RESERVE_ROOT) && in limit_reserve_root() 214 F2FS_OPTION(sbi).root_reserved_blocks > limit) { in limit_reserve_root() 215 F2FS_OPTION(sbi).root_reserved_blocks = limit; in limit_reserve_root() 216 f2fs_msg(sbi->sb, KERN_INFO, in limit_reserve_root() 218 F2FS_OPTION(sbi).root_reserved_blocks); in limit_reserve_root() 220 if (!test_opt(sbi, RESERVE_ROOT) && in limit_reserve_root() [all …]
|
D | segment.c | 172 bool need_SSR(struct f2fs_sb_info *sbi) in need_SSR() argument 174 int node_secs = get_blocktype_secs(sbi, F2FS_DIRTY_NODES); in need_SSR() 175 int dent_secs = get_blocktype_secs(sbi, F2FS_DIRTY_DENTS); in need_SSR() 176 int imeta_secs = get_blocktype_secs(sbi, F2FS_DIRTY_IMETA); in need_SSR() 178 if (test_opt(sbi, LFS)) in need_SSR() 180 if (sbi->gc_thread && sbi->gc_thread->gc_urgent) in need_SSR() 183 return free_sections(sbi) <= (node_secs + 2 * dent_secs + imeta_secs + in need_SSR() 184 SM_I(sbi)->min_ssr_sections + reserved_sections(sbi)); in need_SSR() 189 struct f2fs_sb_info *sbi = F2FS_I_SB(inode); in register_inmem_page() local 208 spin_lock(&sbi->inode_lock[ATOMIC_FILE]); in register_inmem_page() [all …]
|
D | gc.c | 28 struct f2fs_sb_info *sbi = data; in gc_thread_func() local 29 struct f2fs_gc_kthread *gc_th = sbi->gc_thread; in gc_thread_func() 30 wait_queue_head_t *wq = &sbi->gc_thread->gc_wait_queue_head; in gc_thread_func() 51 if (sbi->sb->s_writers.frozen >= SB_FREEZE_WRITE) { in gc_thread_func() 57 if (time_to_inject(sbi, FAULT_CHECKPOINT)) { in gc_thread_func() 59 f2fs_stop_checkpoint(sbi, false); in gc_thread_func() 63 if (!sb_start_write_trylock(sbi->sb)) in gc_thread_func() 81 mutex_lock(&sbi->gc_mutex); in gc_thread_func() 85 if (!mutex_trylock(&sbi->gc_mutex)) in gc_thread_func() 88 if (!is_idle(sbi)) { in gc_thread_func() [all …]
|
D | debug.c | 30 static void update_general_status(struct f2fs_sb_info *sbi) in update_general_status() argument 32 struct f2fs_stat_info *si = F2FS_STAT(sbi); in update_general_status() 36 si->hit_largest = atomic64_read(&sbi->read_hit_largest); in update_general_status() 37 si->hit_cached = atomic64_read(&sbi->read_hit_cached); in update_general_status() 38 si->hit_rbtree = atomic64_read(&sbi->read_hit_rbtree); in update_general_status() 40 si->total_ext = atomic64_read(&sbi->total_hit_ext); in update_general_status() 41 si->ext_tree = atomic_read(&sbi->total_ext_tree); in update_general_status() 42 si->zombie_tree = atomic_read(&sbi->total_zombie_tree); in update_general_status() 43 si->ext_node = atomic_read(&sbi->total_ext_node); in update_general_status() 44 si->ndirty_node = get_pages(sbi, F2FS_DIRTY_NODES); in update_general_status() [all …]
|
D | f2fs.h | 34 #define f2fs_bug_on(sbi, condition) BUG_ON(condition) argument 36 #define f2fs_bug_on(sbi, condition) \ argument 40 set_sbi_flag(sbi, SBI_NEED_FSCK); \ 102 #define F2FS_OPTION(sbi) ((sbi)->mount_opt) argument 103 #define clear_opt(sbi, option) (F2FS_OPTION(sbi).opt &= ~F2FS_MOUNT_##option) argument 104 #define set_opt(sbi, option) (F2FS_OPTION(sbi).opt |= F2FS_MOUNT_##option) argument 105 #define test_opt(sbi, option) (F2FS_OPTION(sbi).opt & F2FS_MOUNT_##option) argument 181 #define BATCHED_TRIM_SEGMENTS(sbi) \ argument 182 (GET_SEG_FROM_SEC(sbi, SM_I(sbi)->trim_sections)) 183 #define BATCHED_TRIM_BLOCKS(sbi) \ argument [all …]
|
D | shrinker.c | 22 static unsigned long __count_nat_entries(struct f2fs_sb_info *sbi) in __count_nat_entries() argument 24 long count = NM_I(sbi)->nat_cnt - NM_I(sbi)->dirty_nat_cnt; in __count_nat_entries() 29 static unsigned long __count_free_nids(struct f2fs_sb_info *sbi) in __count_free_nids() argument 31 long count = NM_I(sbi)->nid_cnt[FREE_NID] - MAX_FREE_NIDS; in __count_free_nids() 36 static unsigned long __count_extent_cache(struct f2fs_sb_info *sbi) in __count_extent_cache() argument 38 return atomic_read(&sbi->total_zombie_tree) + in __count_extent_cache() 39 atomic_read(&sbi->total_ext_node); in __count_extent_cache() 45 struct f2fs_sb_info *sbi; in f2fs_shrink_count() local 52 sbi = list_entry(p, struct f2fs_sb_info, s_list); in f2fs_shrink_count() 55 if (!mutex_trylock(&sbi->umount_mutex)) { in f2fs_shrink_count() [all …]
|
D | sysfs.c | 46 static unsigned char *__struct_ptr(struct f2fs_sb_info *sbi, int struct_type) in __struct_ptr() argument 49 return (unsigned char *)sbi->gc_thread; in __struct_ptr() 51 return (unsigned char *)SM_I(sbi); in __struct_ptr() 53 return (unsigned char *)SM_I(sbi)->dcc_info; in __struct_ptr() 55 return (unsigned char *)NM_I(sbi); in __struct_ptr() 57 return (unsigned char *)sbi; in __struct_ptr() 61 return (unsigned char *)&F2FS_OPTION(sbi).fault_info; in __struct_ptr() 67 struct f2fs_sb_info *sbi, char *buf) in dirty_segments_show() argument 70 (unsigned long long)(dirty_segments(sbi))); in dirty_segments_show() 74 struct f2fs_sb_info *sbi, char *buf) in lifetime_write_kbytes_show() argument [all …]
|
D | node.c | 32 bool available_free_memory(struct f2fs_sb_info *sbi, int type) in available_free_memory() argument 34 struct f2fs_nm_info *nm_i = NM_I(sbi); in available_free_memory() 56 if (excess_cached_nats(sbi)) in available_free_memory() 59 if (sbi->sb->s_bdi->wb.dirty_exceeded) in available_free_memory() 61 mem_size = get_pages(sbi, F2FS_DIRTY_DENTS); in available_free_memory() 67 mem_size += sbi->im[i].ino_num * in available_free_memory() 72 mem_size = (atomic_read(&sbi->total_ext_tree) * in available_free_memory() 74 atomic_read(&sbi->total_ext_node) * in available_free_memory() 79 mem_size = get_pages(sbi, F2FS_INMEM_PAGES); in available_free_memory() 82 if (!sbi->sb->s_bdi->wb.dirty_exceeded) in available_free_memory() [all …]
|
D | extent_cache.c | 64 struct rb_node **__lookup_rb_tree_for_insert(struct f2fs_sb_info *sbi, in __lookup_rb_tree_for_insert() argument 80 f2fs_bug_on(sbi, 1); in __lookup_rb_tree_for_insert() 162 bool __check_rb_tree_consistence(struct f2fs_sb_info *sbi, in __check_rb_tree_consistence() argument 181 f2fs_msg(sbi->sb, KERN_INFO, "inconsistent rbtree, " in __check_rb_tree_consistence() 197 static struct extent_node *__attach_extent_node(struct f2fs_sb_info *sbi, in __attach_extent_node() argument 214 atomic_inc(&sbi->total_ext_node); in __attach_extent_node() 218 static void __detach_extent_node(struct f2fs_sb_info *sbi, in __detach_extent_node() argument 223 atomic_dec(&sbi->total_ext_node); in __detach_extent_node() 236 static void __release_extent_node(struct f2fs_sb_info *sbi, in __release_extent_node() argument 239 spin_lock(&sbi->extent_lock); in __release_extent_node() [all …]
|
/fs/sysv/ |
D | super.c | 47 static void detected_xenix(struct sysv_sb_info *sbi, unsigned *max_links) in detected_xenix() argument 49 struct buffer_head *bh1 = sbi->s_bh1; in detected_xenix() 50 struct buffer_head *bh2 = sbi->s_bh2; in detected_xenix() 63 sbi->s_fic_size = XENIX_NICINOD; in detected_xenix() 64 sbi->s_flc_size = XENIX_NICFREE; in detected_xenix() 65 sbi->s_sbd1 = (char *)sbd1; in detected_xenix() 66 sbi->s_sbd2 = (char *)sbd2; in detected_xenix() 67 sbi->s_sb_fic_count = &sbd1->s_ninode; in detected_xenix() 68 sbi->s_sb_fic_inodes = &sbd1->s_inode[0]; in detected_xenix() 69 sbi->s_sb_total_free_inodes = &sbd2->s_tinode; in detected_xenix() [all …]
|
D | balloc.c | 44 struct sysv_sb_info * sbi = SYSV_SB(sb); in sysv_free_block() local 46 sysv_zone_t *blocks = sbi->s_bcache; in sysv_free_block() 48 unsigned block = fs32_to_cpu(sbi, nr); in sysv_free_block() 55 if (sbi->s_type == FSTYPE_AFS) in sysv_free_block() 58 if (block < sbi->s_firstdatazone || block >= sbi->s_nzones) { in sysv_free_block() 63 mutex_lock(&sbi->s_lock); in sysv_free_block() 64 count = fs16_to_cpu(sbi, *sbi->s_bcache_count); in sysv_free_block() 66 if (count > sbi->s_flc_size) { in sysv_free_block() 68 mutex_unlock(&sbi->s_lock); in sysv_free_block() 75 if (count == sbi->s_flc_size || count == 0) { in sysv_free_block() [all …]
|
D | ialloc.c | 41 struct sysv_sb_info *sbi = SYSV_SB(sb); in sv_sb_fic_inode() local 43 if (sbi->s_bh1 == sbi->s_bh2) in sv_sb_fic_inode() 44 return &sbi->s_sb_fic_inodes[i]; in sv_sb_fic_inode() 49 return (sysv_ino_t*)(sbi->s_sbd1 + offset); in sv_sb_fic_inode() 51 return (sysv_ino_t*)(sbi->s_sbd2 + offset); in sv_sb_fic_inode() 58 struct sysv_sb_info *sbi = SYSV_SB(sb); in sysv_raw_inode() local 60 int block = sbi->s_firstinodezone + sbi->s_block_base; in sysv_raw_inode() 62 block += (ino-1) >> sbi->s_inodes_per_block_bits; in sysv_raw_inode() 67 return res + ((ino-1) & sbi->s_inodes_per_block_1); in sysv_raw_inode() 72 struct sysv_sb_info *sbi = SYSV_SB(sb); in refill_free_cache() local [all …]
|
D | inode.c | 36 struct sysv_sb_info *sbi = SYSV_SB(sb); in sysv_sync_fs() local 39 mutex_lock(&sbi->s_lock); in sysv_sync_fs() 46 old_time = fs32_to_cpu(sbi, *sbi->s_sb_time); in sysv_sync_fs() 47 if (sbi->s_type == FSTYPE_SYSV4) { in sysv_sync_fs() 48 if (*sbi->s_sb_state == cpu_to_fs32(sbi, 0x7c269d38 - old_time)) in sysv_sync_fs() 49 *sbi->s_sb_state = cpu_to_fs32(sbi, 0x7c269d38 - time); in sysv_sync_fs() 50 *sbi->s_sb_time = cpu_to_fs32(sbi, time); in sysv_sync_fs() 51 mark_buffer_dirty(sbi->s_bh2); in sysv_sync_fs() 54 mutex_unlock(&sbi->s_lock); in sysv_sync_fs() 61 struct sysv_sb_info *sbi = SYSV_SB(sb); in sysv_remount() local [all …]
|
/fs/hfsplus/ |
D | super.c | 101 struct hfsplus_sb_info *sbi = HFSPLUS_SB(inode->i_sb); in hfsplus_system_write_inode() local 102 struct hfsplus_vh *vhdr = sbi->s_vhdr; in hfsplus_system_write_inode() 109 tree = sbi->ext_tree; in hfsplus_system_write_inode() 113 tree = sbi->cat_tree; in hfsplus_system_write_inode() 123 tree = sbi->attr_tree; in hfsplus_system_write_inode() 130 set_bit(HFSPLUS_SB_WRITEBACKUP, &sbi->flags); in hfsplus_system_write_inode() 177 struct hfsplus_sb_info *sbi = HFSPLUS_SB(sb); in hfsplus_sync_fs() local 178 struct hfsplus_vh *vhdr = sbi->s_vhdr; in hfsplus_sync_fs() 195 error = filemap_write_and_wait(sbi->cat_tree->inode->i_mapping); in hfsplus_sync_fs() 196 error2 = filemap_write_and_wait(sbi->ext_tree->inode->i_mapping); in hfsplus_sync_fs() [all …]
|
D | options.c | 99 int hfsplus_parse_options(char *input, struct hfsplus_sb_info *sbi) in hfsplus_parse_options() argument 115 if (match_fourchar(&args[0], &sbi->creator)) { in hfsplus_parse_options() 121 if (match_fourchar(&args[0], &sbi->type)) { in hfsplus_parse_options() 131 sbi->umask = (umode_t)tmp; in hfsplus_parse_options() 138 sbi->uid = make_kuid(current_user_ns(), (uid_t)tmp); in hfsplus_parse_options() 139 if (!uid_valid(sbi->uid)) { in hfsplus_parse_options() 149 sbi->gid = make_kgid(current_user_ns(), (gid_t)tmp); in hfsplus_parse_options() 150 if (!gid_valid(sbi->gid)) { in hfsplus_parse_options() 156 if (match_int(&args[0], &sbi->part)) { in hfsplus_parse_options() 162 if (match_int(&args[0], &sbi->session)) { in hfsplus_parse_options() [all …]
|
/fs/autofs4/ |
D | inode.c | 21 struct autofs_info *autofs4_new_ino(struct autofs_sb_info *sbi) in autofs4_new_ino() argument 30 ino->sbi = sbi; in autofs4_new_ino() 49 struct autofs_sb_info *sbi = autofs4_sbi(sb); in autofs4_kill_sb() local 57 if (sbi) { in autofs4_kill_sb() 59 autofs4_catatonic_mode(sbi); in autofs4_kill_sb() 60 put_pid(sbi->oz_pgrp); in autofs4_kill_sb() 65 if (sbi) in autofs4_kill_sb() 66 kfree_rcu(sbi, rcu); in autofs4_kill_sb() 71 struct autofs_sb_info *sbi = autofs4_sbi(root->d_sb); in autofs4_show_options() local 74 if (!sbi) in autofs4_show_options() [all …]
|
D | root.c | 74 struct autofs_sb_info *sbi = autofs4_sbi(dentry->d_sb); in autofs4_add_active() local 79 spin_lock(&sbi->lookup_lock); in autofs4_add_active() 82 list_add(&ino->active, &sbi->active_list); in autofs4_add_active() 85 spin_unlock(&sbi->lookup_lock); in autofs4_add_active() 91 struct autofs_sb_info *sbi = autofs4_sbi(dentry->d_sb); in autofs4_del_active() local 96 spin_lock(&sbi->lookup_lock); in autofs4_del_active() 102 spin_unlock(&sbi->lookup_lock); in autofs4_del_active() 109 struct autofs_sb_info *sbi = autofs4_sbi(dentry->d_sb); in autofs4_dir_open() local 113 if (autofs4_oz_mode(sbi)) in autofs4_dir_open() 125 spin_lock(&sbi->lookup_lock); in autofs4_dir_open() [all …]
|
/fs/ext2/ |
D | super.c | 52 struct ext2_sb_info *sbi = EXT2_SB(sb); in ext2_error() local 53 struct ext2_super_block *es = sbi->s_es; in ext2_error() 56 spin_lock(&sbi->s_lock); in ext2_error() 57 sbi->s_mount_state |= EXT2_ERROR_FS; in ext2_error() 59 spin_unlock(&sbi->s_lock); in ext2_error() 130 struct ext2_sb_info *sbi = EXT2_SB(sb); in ext2_put_super() local 134 if (sbi->s_mb_cache) { in ext2_put_super() 135 ext2_xattr_destroy_cache(sbi->s_mb_cache); in ext2_put_super() 136 sbi->s_mb_cache = NULL; in ext2_put_super() 139 struct ext2_super_block *es = sbi->s_es; in ext2_put_super() [all …]
|
/fs/affs/ |
D | bitmap.c | 40 struct affs_sb_info *sbi = AFFS_SB(sb); in affs_free_block() local 48 if (block > sbi->s_partition_size) in affs_free_block() 51 blk = block - sbi->s_reserved; in affs_free_block() 52 bmap = blk / sbi->s_bmap_bits; in affs_free_block() 53 bit = blk % sbi->s_bmap_bits; in affs_free_block() 54 bm = &sbi->s_bitmap[bmap]; in affs_free_block() 56 mutex_lock(&sbi->s_bmlock); in affs_free_block() 58 bh = sbi->s_bmap_bh; in affs_free_block() 59 if (sbi->s_last_bmap != bmap) { in affs_free_block() 64 sbi->s_bmap_bh = bh; in affs_free_block() [all …]
|
/fs/omfs/ |
D | inode.c | 24 struct omfs_sb_info *sbi = OMFS_SB(sb); in omfs_bread() local 25 if (block >= sbi->s_num_blocks) in omfs_bread() 28 return sb_bread(sb, clus_to_blk(sbi, block)); in omfs_bread() 37 struct omfs_sb_info *sbi = OMFS_SB(dir->i_sb); in omfs_new_inode() local 43 err = omfs_allocate_range(dir->i_sb, sbi->s_mirrors, sbi->s_mirrors, in omfs_new_inode() 57 inode->i_size = sbi->s_sys_blocksize; in omfs_new_inode() 103 struct omfs_sb_info *sbi = OMFS_SB(inode->i_sb); in __omfs_write_inode() local 128 oi->i_head.h_body_size = cpu_to_be32(sbi->s_sys_blocksize - in __omfs_write_inode() 149 for (i = 1; i < sbi->s_mirrors; i++) { in __omfs_write_inode() 202 struct omfs_sb_info *sbi = OMFS_SB(sb); in omfs_iget() local [all …]
|
/fs/ufs/ |
D | cylinder.c | 31 struct ufs_sb_info * sbi = UFS_SB(sb); in ufs_read_cylinder() local 38 uspi = sbi->s_uspi; in ufs_read_cylinder() 39 ucpi = sbi->s_ucpi[bitmap_nr]; in ufs_read_cylinder() 40 ucg = (struct ufs_cylinder_group *)sbi->s_ucg[cgno]->b_data; in ufs_read_cylinder() 47 UCPI_UBH(ucpi)->bh[0] = sbi->s_ucg[cgno]; in ufs_read_cylinder() 51 sbi->s_cgno[bitmap_nr] = cgno; in ufs_read_cylinder() 73 brelse (sbi->s_ucg[j]); in ufs_read_cylinder() 74 sbi->s_cgno[bitmap_nr] = UFS_CGNO_EMPTY; in ufs_read_cylinder() 84 struct ufs_sb_info * sbi = UFS_SB(sb); in ufs_put_cylinder() local 92 uspi = sbi->s_uspi; in ufs_put_cylinder() [all …]
|
/fs/hpfs/ |
D | super.c | 112 static void free_sbi(struct hpfs_sb_info *sbi) in free_sbi() argument 114 kfree(sbi->sb_cp_table); in free_sbi() 115 kfree(sbi->sb_bmp_dir); in free_sbi() 116 kfree(sbi); in free_sbi() 166 struct hpfs_sb_info *sbi = hpfs_sb(s); in hpfs_get_free_dnodes() local 167 if (sbi->sb_n_free_dnodes == (unsigned)-1) { in hpfs_get_free_dnodes() 168 unsigned c = hpfs_count_one_bitmap(s, sbi->sb_dmap); in hpfs_get_free_dnodes() 171 sbi->sb_n_free_dnodes = c; in hpfs_get_free_dnodes() 173 return sbi->sb_n_free_dnodes; in hpfs_get_free_dnodes() 179 struct hpfs_sb_info *sbi = hpfs_sb(s); in hpfs_statfs() local [all …]
|
/fs/minix/ |
D | inode.c | 43 struct minix_sb_info *sbi = minix_sb(sb); in minix_put_super() local 46 if (sbi->s_version != MINIX_V3) /* s_state is now out from V3 sb */ in minix_put_super() 47 sbi->s_ms->s_state = sbi->s_mount_state; in minix_put_super() 48 mark_buffer_dirty(sbi->s_sbh); in minix_put_super() 50 for (i = 0; i < sbi->s_imap_blocks; i++) in minix_put_super() 51 brelse(sbi->s_imap[i]); in minix_put_super() 52 for (i = 0; i < sbi->s_zmap_blocks; i++) in minix_put_super() 53 brelse(sbi->s_zmap[i]); in minix_put_super() 54 brelse (sbi->s_sbh); in minix_put_super() 55 kfree(sbi->s_imap); in minix_put_super() [all …]
|