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()
849 static inline unsigned int __ocfs2_dx_dir_hash_idx(struct ocfs2_super *osb, in __ocfs2_dx_dir_hash_idx() argument
852 return minor_hash & osb->osb_dx_mask; in __ocfs2_dx_dir_hash_idx()
855 static inline unsigned int ocfs2_dx_dir_hash_idx(struct ocfs2_super *osb, in ocfs2_dx_dir_hash_idx() argument
858 return __ocfs2_dx_dir_hash_idx(osb, hinfo->minor_hash); in ocfs2_dx_dir_hash_idx()
2207 static int ocfs2_fill_new_dir_id(struct ocfs2_super *osb, in ocfs2_fill_new_dir_id() argument
2240 static int ocfs2_fill_new_dir_el(struct ocfs2_super *osb, in ocfs2_fill_new_dir_el() argument
2249 unsigned int size = osb->sb->s_blocksize; in ocfs2_fill_new_dir_el()
2256 status = ocfs2_do_extend_dir(osb->sb, handle, inode, fe_bh, in ocfs2_fill_new_dir_el()
2271 memset(new_bh->b_data, 0, osb->sb->s_blocksize); in ocfs2_fill_new_dir_el()
2310 static int ocfs2_dx_dir_attach_index(struct ocfs2_super *osb, in ocfs2_dx_dir_attach_index() argument
2339 dx_root_bh = sb_getblk(osb->sb, dr_blkno); in ocfs2_dx_dir_attach_index()
2354 memset(dx_root, 0, osb->sb->s_blocksize); in ocfs2_dx_dir_attach_index()
2359 dx_root->dr_fs_generation = cpu_to_le32(osb->fs_generation); in ocfs2_dx_dir_attach_index()
2371 cpu_to_le16(ocfs2_dx_entries_per_root(osb->sb)); in ocfs2_dx_dir_attach_index()
2374 cpu_to_le16(ocfs2_extent_recs_per_dx_root(osb->sb)); in ocfs2_dx_dir_attach_index()
2402 static int ocfs2_dx_dir_format_cluster(struct ocfs2_super *osb, in ocfs2_dx_dir_format_cluster() argument
2412 bh = sb_getblk(osb->sb, start_blk + i); in ocfs2_dx_dir_format_cluster()
2430 memset(dx_leaf, 0, osb->sb->s_blocksize); in ocfs2_dx_dir_format_cluster()
2432 dx_leaf->dl_fs_generation = cpu_to_le32(osb->fs_generation); in ocfs2_dx_dir_format_cluster()
2435 cpu_to_le16(ocfs2_dx_entries_per_leaf(osb->sb)); in ocfs2_dx_dir_format_cluster()
2464 struct ocfs2_super *osb = OCFS2_SB(dir->i_sb); in __ocfs2_dx_dir_new_cluster() local
2482 phys_blkno = ocfs2_clusters_to_blocks(osb->sb, phys); in __ocfs2_dx_dir_new_cluster()
2483 ret = ocfs2_dx_dir_format_cluster(osb, handle, dir, dx_leaves, in __ocfs2_dx_dir_new_cluster()
2535 static int ocfs2_fill_new_dir_dx(struct ocfs2_super *osb, in ocfs2_fill_new_dir_dx() argument
2561 ret = ocfs2_fill_new_dir_el(osb, handle, parent, inode, di_bh, in ocfs2_fill_new_dir_dx()
2568 ret = ocfs2_dx_dir_attach_index(osb, handle, inode, di_bh, leaf_bh, in ocfs2_fill_new_dir_dx()
2590 int ocfs2_fill_new_dir(struct ocfs2_super *osb, in ocfs2_fill_new_dir() argument
2599 BUG_ON(!ocfs2_supports_inline_data(osb) && data_ac == NULL); in ocfs2_fill_new_dir()
2602 return ocfs2_fill_new_dir_id(osb, handle, parent, inode, fe_bh); in ocfs2_fill_new_dir()
2604 if (ocfs2_supports_indexed_dirs(osb)) in ocfs2_fill_new_dir()
2605 return ocfs2_fill_new_dir_dx(osb, handle, parent, inode, fe_bh, in ocfs2_fill_new_dir()
2608 return ocfs2_fill_new_dir_el(osb, handle, parent, inode, fe_bh, in ocfs2_fill_new_dir()
2803 struct ocfs2_super *osb = OCFS2_SB(dir->i_sb); in ocfs2_expand_inline_dir() local
2823 if (ocfs2_supports_indexed_dirs(osb)) { in ocfs2_expand_inline_dir()
2840 ret = ocfs2_reserve_new_metadata_blocks(osb, 1, &meta_ac); in ocfs2_expand_inline_dir()
2857 ret = ocfs2_reserve_clusters(osb, alloc + dx_alloc, &data_ac); in ocfs2_expand_inline_dir()
2870 handle = ocfs2_start_trans(osb, credits); in ocfs2_expand_inline_dir()
2878 ocfs2_clusters_to_bytes(osb->sb, alloc + dx_alloc)); in ocfs2_expand_inline_dir()
2883 if (ocfs2_supports_indexed_dirs(osb) && !dx_inline) { in ocfs2_expand_inline_dir()
2904 if (ocfs2_dir_resv_allowed(osb)) in ocfs2_expand_inline_dir()
2952 if (ocfs2_supports_indexed_dirs(osb) && !dx_inline) { in ocfs2_expand_inline_dir()
3019 if (ocfs2_supports_indexed_dirs(osb)) { in ocfs2_expand_inline_dir()
3020 ret = ocfs2_dx_dir_attach_index(osb, handle, dir, di_bh, in ocfs2_expand_inline_dir()
3066 if (ocfs2_supports_indexed_dirs(osb)) { in ocfs2_expand_inline_dir()
3087 ocfs2_commit_trans(osb, handle); in ocfs2_expand_inline_dir()
3174 static int ocfs2_extend_dir(struct ocfs2_super *osb, in ocfs2_extend_dir() argument
3191 struct super_block *sb = osb->sb; in ocfs2_extend_dir()
3252 num_free_extents = ocfs2_num_free_extents(osb, &et); in ocfs2_extend_dir()
3260 status = ocfs2_reserve_new_metadata(osb, el, &meta_ac); in ocfs2_extend_dir()
3268 status = ocfs2_reserve_clusters(osb, 1, &data_ac); in ocfs2_extend_dir()
3275 if (ocfs2_dir_resv_allowed(osb)) in ocfs2_extend_dir()
3289 handle = ocfs2_start_trans(osb, credits); in ocfs2_extend_dir()
3297 status = ocfs2_do_extend_dir(osb->sb, handle, dir, parent_fe_bh, in ocfs2_extend_dir()
3349 ocfs2_commit_trans(osb, handle); in ocfs2_extend_dir()
3699 static int ocfs2_dx_dir_rebalance_credits(struct ocfs2_super *osb, in ocfs2_dx_dir_rebalance_credits() argument
3702 int credits = ocfs2_clusters_to_blocks(osb->sb, 2); in ocfs2_dx_dir_rebalance_credits()
3704 credits += ocfs2_calc_extend_credits(osb->sb, &dx_root->dr_list); in ocfs2_dx_dir_rebalance_credits()
3705 credits += ocfs2_quota_trans_credits(osb->sb); in ocfs2_dx_dir_rebalance_credits()
3713 static int ocfs2_dx_dir_rebalance(struct ocfs2_super *osb, struct inode *dir, in ocfs2_dx_dir_rebalance() argument
3755 orig_dx_leaves = ocfs2_dx_dir_kmalloc_leaves(osb->sb, &num_dx_leaves); in ocfs2_dx_dir_rebalance()
3762 new_dx_leaves = ocfs2_dx_dir_kmalloc_leaves(osb->sb, NULL); in ocfs2_dx_dir_rebalance()
3776 credits = ocfs2_dx_dir_rebalance_credits(osb, dx_root); in ocfs2_dx_dir_rebalance()
3777 handle = ocfs2_start_trans(osb, credits); in ocfs2_dx_dir_rebalance()
3834 tmp_dx_leaf = kmalloc(osb->sb->s_blocksize, GFP_NOFS); in ocfs2_dx_dir_rebalance()
3885 ocfs2_commit_trans(osb, handle); in ocfs2_dx_dir_rebalance()
3908 static int ocfs2_find_dir_space_dx(struct ocfs2_super *osb, struct inode *dir, in ocfs2_find_dir_space_dx() argument
3953 ret = ocfs2_dx_dir_rebalance(osb, dir, dx_root_bh, dx_leaf_bh, in ocfs2_find_dir_space_dx()
4037 struct ocfs2_super *osb = OCFS2_SB(dir->i_sb); in ocfs2_expand_inline_dx_root() local
4044 ret = ocfs2_reserve_clusters(osb, 1, &data_ac); in ocfs2_expand_inline_dx_root()
4050 dx_leaves = ocfs2_dx_dir_kmalloc_leaves(osb->sb, &num_dx_leaves); in ocfs2_expand_inline_dx_root()
4057 handle = ocfs2_start_trans(osb, ocfs2_calc_dxi_expand_credits(osb->sb)); in ocfs2_expand_inline_dx_root()
4065 ocfs2_clusters_to_bytes(osb->sb, 1)); in ocfs2_expand_inline_dx_root()
4099 j = __ocfs2_dx_dir_hash_idx(osb, in ocfs2_expand_inline_dx_root()
4110 memset(&dx_root->dr_list, 0, osb->sb->s_blocksize - in ocfs2_expand_inline_dx_root()
4113 cpu_to_le16(ocfs2_extent_recs_per_dx_root(osb->sb)); in ocfs2_expand_inline_dx_root()
4131 ocfs2_commit_trans(osb, handle); in ocfs2_expand_inline_dx_root()
4167 struct ocfs2_super *osb = OCFS2_SB(dir->i_sb); in ocfs2_prepare_dx_dir_for_insert() local
4210 ret = ocfs2_find_dir_space_dx(osb, dir, di_bh, dx_root_bh, name, in ocfs2_prepare_dx_dir_for_insert()
4235 ret = ocfs2_extend_dir(osb, dir, di_bh, 1, lookup, &leaf_bh); in ocfs2_prepare_dx_dir_for_insert()
4262 int ocfs2_prepare_dir_for_insert(struct ocfs2_super *osb, in ocfs2_prepare_dir_for_insert() argument
4293 if (ocfs2_supports_indexed_dirs(osb)) in ocfs2_prepare_dir_for_insert()
4321 ret = ocfs2_extend_dir(osb, dir, parent_fe_bh, blocks_wanted, in ocfs2_prepare_dir_for_insert()
4344 struct ocfs2_super *osb = OCFS2_SB(dir->i_sb); in ocfs2_dx_dir_remove_index() local
4356 dx_alloc_inode = ocfs2_get_system_file_inode(osb, in ocfs2_dx_dir_remove_index()
4372 handle = ocfs2_start_trans(osb, OCFS2_DX_ROOT_REMOVE_CREDITS); in ocfs2_dx_dir_remove_index()
4407 ocfs2_commit_trans(osb, handle); in ocfs2_dx_dir_remove_index()
4426 struct ocfs2_super *osb = OCFS2_SB(dir->i_sb); in ocfs2_dx_dir_truncate() local
4483 ocfs2_schedule_truncate_log_flush(osb, 1); in ocfs2_dx_dir_truncate()
4484 ocfs2_run_deallocs(osb, &dealloc); in ocfs2_dx_dir_truncate()