Lines Matching refs:osb
90 struct ocfs2_super *osb = OCFS2_SB(dir->i_sb); in ocfs2_supports_dir_trailer() local
95 return ocfs2_meta_ecc(osb) || ocfs2_dir_indexed(dir); in ocfs2_supports_dir_trailer()
108 struct ocfs2_super *osb = OCFS2_SB(dir->i_sb); in ocfs2_new_dir_wants_trailer() local
110 return ocfs2_meta_ecc(osb) || in ocfs2_new_dir_wants_trailer()
111 ocfs2_supports_indexed_dirs(osb); in ocfs2_new_dir_wants_trailer()
273 struct ocfs2_super *osb = OCFS2_SB(dir->i_sb); in ocfs2_dx_dir_name_hash() local
297 memcpy(buf, osb->osb_dx_seed, sizeof(buf)); in ocfs2_dx_dir_name_hash()
859 static inline unsigned int __ocfs2_dx_dir_hash_idx(struct ocfs2_super *osb, in __ocfs2_dx_dir_hash_idx() argument
862 return minor_hash & osb->osb_dx_mask; in __ocfs2_dx_dir_hash_idx()
865 static inline unsigned int ocfs2_dx_dir_hash_idx(struct ocfs2_super *osb, in ocfs2_dx_dir_hash_idx() argument
868 return __ocfs2_dx_dir_hash_idx(osb, hinfo->minor_hash); in ocfs2_dx_dir_hash_idx()
2217 static int ocfs2_fill_new_dir_id(struct ocfs2_super *osb, in ocfs2_fill_new_dir_id() argument
2250 static int ocfs2_fill_new_dir_el(struct ocfs2_super *osb, in ocfs2_fill_new_dir_el() argument
2259 unsigned int size = osb->sb->s_blocksize; in ocfs2_fill_new_dir_el()
2266 status = ocfs2_do_extend_dir(osb->sb, handle, inode, fe_bh, in ocfs2_fill_new_dir_el()
2281 memset(new_bh->b_data, 0, osb->sb->s_blocksize); in ocfs2_fill_new_dir_el()
2320 static int ocfs2_dx_dir_attach_index(struct ocfs2_super *osb, in ocfs2_dx_dir_attach_index() argument
2349 dx_root_bh = sb_getblk(osb->sb, dr_blkno); in ocfs2_dx_dir_attach_index()
2364 memset(dx_root, 0, osb->sb->s_blocksize); in ocfs2_dx_dir_attach_index()
2369 dx_root->dr_fs_generation = cpu_to_le32(osb->fs_generation); in ocfs2_dx_dir_attach_index()
2381 cpu_to_le16(ocfs2_dx_entries_per_root(osb->sb)); in ocfs2_dx_dir_attach_index()
2384 cpu_to_le16(ocfs2_extent_recs_per_dx_root(osb->sb)); in ocfs2_dx_dir_attach_index()
2412 static int ocfs2_dx_dir_format_cluster(struct ocfs2_super *osb, in ocfs2_dx_dir_format_cluster() argument
2422 bh = sb_getblk(osb->sb, start_blk + i); in ocfs2_dx_dir_format_cluster()
2440 memset(dx_leaf, 0, osb->sb->s_blocksize); in ocfs2_dx_dir_format_cluster()
2442 dx_leaf->dl_fs_generation = cpu_to_le32(osb->fs_generation); in ocfs2_dx_dir_format_cluster()
2445 cpu_to_le16(ocfs2_dx_entries_per_leaf(osb->sb)); in ocfs2_dx_dir_format_cluster()
2474 struct ocfs2_super *osb = OCFS2_SB(dir->i_sb); in __ocfs2_dx_dir_new_cluster() local
2492 phys_blkno = ocfs2_clusters_to_blocks(osb->sb, phys); in __ocfs2_dx_dir_new_cluster()
2493 ret = ocfs2_dx_dir_format_cluster(osb, handle, dir, dx_leaves, in __ocfs2_dx_dir_new_cluster()
2545 static int ocfs2_fill_new_dir_dx(struct ocfs2_super *osb, in ocfs2_fill_new_dir_dx() argument
2571 ret = ocfs2_fill_new_dir_el(osb, handle, parent, inode, di_bh, in ocfs2_fill_new_dir_dx()
2578 ret = ocfs2_dx_dir_attach_index(osb, handle, inode, di_bh, leaf_bh, in ocfs2_fill_new_dir_dx()
2600 int ocfs2_fill_new_dir(struct ocfs2_super *osb, in ocfs2_fill_new_dir() argument
2609 BUG_ON(!ocfs2_supports_inline_data(osb) && data_ac == NULL); in ocfs2_fill_new_dir()
2612 return ocfs2_fill_new_dir_id(osb, handle, parent, inode, fe_bh); in ocfs2_fill_new_dir()
2614 if (ocfs2_supports_indexed_dirs(osb)) in ocfs2_fill_new_dir()
2615 return ocfs2_fill_new_dir_dx(osb, handle, parent, inode, fe_bh, in ocfs2_fill_new_dir()
2618 return ocfs2_fill_new_dir_el(osb, handle, parent, inode, fe_bh, in ocfs2_fill_new_dir()
2813 struct ocfs2_super *osb = OCFS2_SB(dir->i_sb); in ocfs2_expand_inline_dir() local
2833 if (ocfs2_supports_indexed_dirs(osb)) { in ocfs2_expand_inline_dir()
2850 ret = ocfs2_reserve_new_metadata_blocks(osb, 1, &meta_ac); in ocfs2_expand_inline_dir()
2867 ret = ocfs2_reserve_clusters(osb, alloc + dx_alloc, &data_ac); in ocfs2_expand_inline_dir()
2880 handle = ocfs2_start_trans(osb, credits); in ocfs2_expand_inline_dir()
2888 ocfs2_clusters_to_bytes(osb->sb, alloc + dx_alloc)); in ocfs2_expand_inline_dir()
2893 if (ocfs2_supports_indexed_dirs(osb) && !dx_inline) { in ocfs2_expand_inline_dir()
2914 if (ocfs2_dir_resv_allowed(osb)) in ocfs2_expand_inline_dir()
2962 if (ocfs2_supports_indexed_dirs(osb) && !dx_inline) { in ocfs2_expand_inline_dir()
3029 if (ocfs2_supports_indexed_dirs(osb)) { in ocfs2_expand_inline_dir()
3030 ret = ocfs2_dx_dir_attach_index(osb, handle, dir, di_bh, in ocfs2_expand_inline_dir()
3076 if (ocfs2_supports_indexed_dirs(osb)) { in ocfs2_expand_inline_dir()
3097 ocfs2_commit_trans(osb, handle); in ocfs2_expand_inline_dir()
3184 static int ocfs2_extend_dir(struct ocfs2_super *osb, in ocfs2_extend_dir() argument
3201 struct super_block *sb = osb->sb; in ocfs2_extend_dir()
3262 num_free_extents = ocfs2_num_free_extents(osb, &et); in ocfs2_extend_dir()
3270 status = ocfs2_reserve_new_metadata(osb, el, &meta_ac); in ocfs2_extend_dir()
3278 status = ocfs2_reserve_clusters(osb, 1, &data_ac); in ocfs2_extend_dir()
3285 if (ocfs2_dir_resv_allowed(osb)) in ocfs2_extend_dir()
3299 handle = ocfs2_start_trans(osb, credits); in ocfs2_extend_dir()
3307 status = ocfs2_do_extend_dir(osb->sb, handle, dir, parent_fe_bh, in ocfs2_extend_dir()
3359 ocfs2_commit_trans(osb, handle); in ocfs2_extend_dir()
3712 static int ocfs2_dx_dir_rebalance_credits(struct ocfs2_super *osb, in ocfs2_dx_dir_rebalance_credits() argument
3715 int credits = ocfs2_clusters_to_blocks(osb->sb, 2); in ocfs2_dx_dir_rebalance_credits()
3717 credits += ocfs2_calc_extend_credits(osb->sb, &dx_root->dr_list); in ocfs2_dx_dir_rebalance_credits()
3718 credits += ocfs2_quota_trans_credits(osb->sb); in ocfs2_dx_dir_rebalance_credits()
3726 static int ocfs2_dx_dir_rebalance(struct ocfs2_super *osb, struct inode *dir, in ocfs2_dx_dir_rebalance() argument
3768 orig_dx_leaves = ocfs2_dx_dir_kmalloc_leaves(osb->sb, &num_dx_leaves); in ocfs2_dx_dir_rebalance()
3775 new_dx_leaves = ocfs2_dx_dir_kmalloc_leaves(osb->sb, NULL); in ocfs2_dx_dir_rebalance()
3789 credits = ocfs2_dx_dir_rebalance_credits(osb, dx_root); in ocfs2_dx_dir_rebalance()
3790 handle = ocfs2_start_trans(osb, credits); in ocfs2_dx_dir_rebalance()
3847 tmp_dx_leaf = kmalloc(osb->sb->s_blocksize, GFP_NOFS); in ocfs2_dx_dir_rebalance()
3898 ocfs2_commit_trans(osb, handle); in ocfs2_dx_dir_rebalance()
3921 static int ocfs2_find_dir_space_dx(struct ocfs2_super *osb, struct inode *dir, in ocfs2_find_dir_space_dx() argument
3966 ret = ocfs2_dx_dir_rebalance(osb, dir, dx_root_bh, dx_leaf_bh, in ocfs2_find_dir_space_dx()
4050 struct ocfs2_super *osb = OCFS2_SB(dir->i_sb); in ocfs2_expand_inline_dx_root() local
4057 ret = ocfs2_reserve_clusters(osb, 1, &data_ac); in ocfs2_expand_inline_dx_root()
4063 dx_leaves = ocfs2_dx_dir_kmalloc_leaves(osb->sb, &num_dx_leaves); in ocfs2_expand_inline_dx_root()
4070 handle = ocfs2_start_trans(osb, ocfs2_calc_dxi_expand_credits(osb->sb)); in ocfs2_expand_inline_dx_root()
4078 ocfs2_clusters_to_bytes(osb->sb, 1)); in ocfs2_expand_inline_dx_root()
4112 j = __ocfs2_dx_dir_hash_idx(osb, in ocfs2_expand_inline_dx_root()
4123 memset(&dx_root->dr_list, 0, osb->sb->s_blocksize - in ocfs2_expand_inline_dx_root()
4126 cpu_to_le16(ocfs2_extent_recs_per_dx_root(osb->sb)); in ocfs2_expand_inline_dx_root()
4144 ocfs2_commit_trans(osb, handle); in ocfs2_expand_inline_dx_root()
4180 struct ocfs2_super *osb = OCFS2_SB(dir->i_sb); in ocfs2_prepare_dx_dir_for_insert() local
4223 ret = ocfs2_find_dir_space_dx(osb, dir, di_bh, dx_root_bh, name, in ocfs2_prepare_dx_dir_for_insert()
4248 ret = ocfs2_extend_dir(osb, dir, di_bh, 1, lookup, &leaf_bh); in ocfs2_prepare_dx_dir_for_insert()
4275 int ocfs2_prepare_dir_for_insert(struct ocfs2_super *osb, in ocfs2_prepare_dir_for_insert() argument
4306 if (ocfs2_supports_indexed_dirs(osb)) in ocfs2_prepare_dir_for_insert()
4334 ret = ocfs2_extend_dir(osb, dir, parent_fe_bh, blocks_wanted, in ocfs2_prepare_dir_for_insert()
4357 struct ocfs2_super *osb = OCFS2_SB(dir->i_sb); in ocfs2_dx_dir_remove_index() local
4369 dx_alloc_inode = ocfs2_get_system_file_inode(osb, in ocfs2_dx_dir_remove_index()
4385 handle = ocfs2_start_trans(osb, OCFS2_DX_ROOT_REMOVE_CREDITS); in ocfs2_dx_dir_remove_index()
4420 ocfs2_commit_trans(osb, handle); in ocfs2_dx_dir_remove_index()
4439 struct ocfs2_super *osb = OCFS2_SB(dir->i_sb); in ocfs2_dx_dir_truncate() local
4496 ocfs2_schedule_truncate_log_flush(osb, 1); in ocfs2_dx_dir_truncate()
4497 ocfs2_run_deallocs(osb, &dealloc); in ocfs2_dx_dir_truncate()