Home
last modified time | relevance | path

Searched refs:sbi (Results 1 – 25 of 156) sorted by relevance

1234567

/fs/f2fs/
Dsegment.h34 #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 …]
Dcheckpoint.c29 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 …]
Dsuper.c60 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 …]
Dsegment.c172 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 …]
Dgc.c28 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 …]
Ddebug.c30 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 …]
Df2fs.h34 #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 …]
Dshrinker.c22 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 …]
Dsysfs.c46 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 …]
Dnode.c32 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 …]
Dextent_cache.c64 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/
Dsuper.c47 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 …]
Dballoc.c44 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 …]
Dialloc.c41 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 …]
Dinode.c36 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/
Dsuper.c101 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 …]
Doptions.c99 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/
Dinode.c21 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 …]
Droot.c74 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/
Dsuper.c52 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/
Dbitmap.c40 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/
Dinode.c24 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/
Dcylinder.c31 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/
Dsuper.c112 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/
Dinode.c43 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 …]

1234567