Lines Matching refs:osb
219 struct ocfs2_super *osb = OCFS2_SB(oi->vfs_inode.i_sb); in ocfs2_dinode_insert_check() local
222 mlog_bug_on_msg(!ocfs2_sparse_alloc(osb) && in ocfs2_dinode_insert_check()
226 osb->dev_str, in ocfs2_dinode_insert_check()
995 struct ocfs2_super *osb = in ocfs2_create_new_meta_bhs() local
1014 bhs[i] = sb_getblk(osb->sb, first_blkno); in ocfs2_create_new_meta_bhs()
1030 memset(bhs[i]->b_data, 0, osb->sb->s_blocksize); in ocfs2_create_new_meta_bhs()
1035 eb->h_fs_generation = cpu_to_le32(osb->fs_generation); in ocfs2_create_new_meta_bhs()
1041 cpu_to_le16(ocfs2_extent_recs_per_eb(osb->sb)); in ocfs2_create_new_meta_bhs()
3103 static int ocfs2_remove_rightmost_empty_extent(struct ocfs2_super *osb, in ocfs2_remove_rightmost_empty_extent() argument
3112 handle = ocfs2_start_trans(osb, credits); in ocfs2_remove_rightmost_empty_extent()
3123 ocfs2_commit_trans(osb, handle); in ocfs2_remove_rightmost_empty_extent()
4785 struct ocfs2_super *osb = in ocfs2_add_clusters_in_btree() local
4838 block = ocfs2_clusters_to_blocks(osb->sb, bit_off); in ocfs2_add_clusters_in_btree()
4864 ocfs2_free_local_alloc_bits(osb, handle, data_ac, in ocfs2_add_clusters_in_btree()
4870 ocfs2_clusters_to_blocks(osb->sb, bit_off), in ocfs2_add_clusters_in_btree()
5656 struct ocfs2_super *osb = OCFS2_SB(inode->i_sb); in ocfs2_reserve_blocks_for_rec_trunc() local
5668 (ocfs2_sparse_alloc(osb) && num_free_extents < max_recs_needed)) in ocfs2_reserve_blocks_for_rec_trunc()
5672 ret = ocfs2_reserve_new_metadata_blocks(osb, extra_blocks, ac); in ocfs2_reserve_blocks_for_rec_trunc()
5698 struct ocfs2_super *osb = OCFS2_SB(inode->i_sb); in ocfs2_remove_btree_range() local
5699 struct inode *tl_inode = osb->osb_tl_inode; in ocfs2_remove_btree_range()
5708 ret = ocfs2_lock_refcount_tree(osb, refcount_loc, 1, in ocfs2_remove_btree_range()
5737 if (ocfs2_truncate_log_needs_flush(osb)) { in ocfs2_remove_btree_range()
5738 ret = __ocfs2_flush_truncate_log(osb); in ocfs2_remove_btree_range()
5745 handle = ocfs2_start_trans(osb, in ocfs2_remove_btree_range()
5746 ocfs2_remove_extent_credits(osb->sb) + credits); in ocfs2_remove_btree_range()
5777 ocfs2_blocks_to_clusters(osb->sb, in ocfs2_remove_btree_range()
5782 ret = ocfs2_truncate_log_append(osb, handle, in ocfs2_remove_btree_range()
5790 ocfs2_commit_trans(osb, handle); in ocfs2_remove_btree_range()
5798 ocfs2_unlock_refcount_tree(osb, ref_tree, 1); in ocfs2_remove_btree_range()
5803 int ocfs2_truncate_log_needs_flush(struct ocfs2_super *osb) in ocfs2_truncate_log_needs_flush() argument
5805 struct buffer_head *tl_bh = osb->osb_tl_bh; in ocfs2_truncate_log_needs_flush()
5814 "%u, count = %u\n", osb->slot_num, in ocfs2_truncate_log_needs_flush()
5836 int ocfs2_truncate_log_append(struct ocfs2_super *osb, in ocfs2_truncate_log_append() argument
5843 struct inode *tl_inode = osb->osb_tl_inode; in ocfs2_truncate_log_append()
5844 struct buffer_head *tl_bh = osb->osb_tl_bh; in ocfs2_truncate_log_append()
5850 start_cluster = ocfs2_blocks_to_clusters(osb->sb, start_blk); in ocfs2_truncate_log_append()
5861 mlog_bug_on_msg(tl_count > ocfs2_truncate_recs_per_inode(osb->sb) || in ocfs2_truncate_log_append()
5866 ocfs2_truncate_recs_per_inode(osb->sb), in ocfs2_truncate_log_append()
5907 osb->truncated_clusters += num_clusters; in ocfs2_truncate_log_append()
5912 static int ocfs2_replay_truncate_records(struct ocfs2_super *osb, in ocfs2_replay_truncate_records() argument
5923 struct inode *tl_inode = osb->osb_tl_inode; in ocfs2_replay_truncate_records()
5924 struct buffer_head *tl_bh = osb->osb_tl_bh; in ocfs2_replay_truncate_records()
5931 handle = ocfs2_start_trans(osb, OCFS2_TRUNCATE_LOG_FLUSH_ONE_REC); in ocfs2_replay_truncate_records()
5943 ocfs2_commit_trans(osb, handle); in ocfs2_replay_truncate_records()
5968 ocfs2_commit_trans(osb, handle); in ocfs2_replay_truncate_records()
5974 ocfs2_commit_trans(osb, handle); in ocfs2_replay_truncate_records()
5978 osb->truncated_clusters = 0; in ocfs2_replay_truncate_records()
5985 int __ocfs2_flush_truncate_log(struct ocfs2_super *osb) in __ocfs2_flush_truncate_log() argument
5989 struct inode *tl_inode = osb->osb_tl_inode; in __ocfs2_flush_truncate_log()
5991 struct buffer_head *tl_bh = osb->osb_tl_bh; in __ocfs2_flush_truncate_log()
5995 struct ocfs2_journal *journal = osb->journal; in __ocfs2_flush_truncate_log()
6030 data_alloc_inode = ocfs2_get_system_file_inode(osb, in __ocfs2_flush_truncate_log()
6047 status = ocfs2_replay_truncate_records(osb, data_alloc_inode, in __ocfs2_flush_truncate_log()
6063 int ocfs2_flush_truncate_log(struct ocfs2_super *osb) in ocfs2_flush_truncate_log() argument
6066 struct inode *tl_inode = osb->osb_tl_inode; in ocfs2_flush_truncate_log()
6069 status = __ocfs2_flush_truncate_log(osb); in ocfs2_flush_truncate_log()
6078 struct ocfs2_super *osb = in ocfs2_truncate_log_worker() local
6082 status = ocfs2_flush_truncate_log(osb); in ocfs2_truncate_log_worker()
6086 ocfs2_init_steal_slots(osb); in ocfs2_truncate_log_worker()
6090 void ocfs2_schedule_truncate_log_flush(struct ocfs2_super *osb, in ocfs2_schedule_truncate_log_flush() argument
6093 if (osb->osb_tl_inode && in ocfs2_schedule_truncate_log_flush()
6094 atomic_read(&osb->osb_tl_disable) == 0) { in ocfs2_schedule_truncate_log_flush()
6098 cancel_delayed_work(&osb->osb_truncate_log_wq); in ocfs2_schedule_truncate_log_flush()
6100 queue_delayed_work(osb->ocfs2_wq, &osb->osb_truncate_log_wq, in ocfs2_schedule_truncate_log_flush()
6110 int ocfs2_try_to_free_truncate_log(struct ocfs2_super *osb, in ocfs2_try_to_free_truncate_log() argument
6117 inode_lock(osb->osb_tl_inode); in ocfs2_try_to_free_truncate_log()
6118 truncated_clusters = osb->truncated_clusters; in ocfs2_try_to_free_truncate_log()
6119 inode_unlock(osb->osb_tl_inode); in ocfs2_try_to_free_truncate_log()
6128 ret = ocfs2_flush_truncate_log(osb); in ocfs2_try_to_free_truncate_log()
6134 if (jbd2_journal_start_commit(osb->journal->j_journal, &target)) { in ocfs2_try_to_free_truncate_log()
6135 jbd2_log_wait_commit(osb->journal->j_journal, target); in ocfs2_try_to_free_truncate_log()
6142 static int ocfs2_get_truncate_log_info(struct ocfs2_super *osb, in ocfs2_get_truncate_log_info() argument
6151 inode = ocfs2_get_system_file_inode(osb, in ocfs2_get_truncate_log_info()
6177 int ocfs2_begin_truncate_log_recovery(struct ocfs2_super *osb, in ocfs2_begin_truncate_log_recovery() argument
6191 status = ocfs2_get_truncate_log_info(osb, slot_num, &tl_inode, &tl_bh); in ocfs2_begin_truncate_log_recovery()
6223 ocfs2_compute_meta_ecc(osb->sb, tl_bh->b_data, &di->i_check); in ocfs2_begin_truncate_log_recovery()
6224 status = ocfs2_write_block(osb, tl_bh, INODE_CACHE(tl_inode)); in ocfs2_begin_truncate_log_recovery()
6244 int ocfs2_complete_truncate_log_recovery(struct ocfs2_super *osb, in ocfs2_complete_truncate_log_recovery() argument
6252 struct inode *tl_inode = osb->osb_tl_inode; in ocfs2_complete_truncate_log_recovery()
6268 if (ocfs2_truncate_log_needs_flush(osb)) { in ocfs2_complete_truncate_log_recovery()
6269 status = __ocfs2_flush_truncate_log(osb); in ocfs2_complete_truncate_log_recovery()
6276 handle = ocfs2_start_trans(osb, OCFS2_TRUNCATE_LOG_UPDATE); in ocfs2_complete_truncate_log_recovery()
6285 start_blk = ocfs2_clusters_to_blocks(osb->sb, start_cluster); in ocfs2_complete_truncate_log_recovery()
6287 status = ocfs2_truncate_log_append(osb, handle, in ocfs2_complete_truncate_log_recovery()
6289 ocfs2_commit_trans(osb, handle); in ocfs2_complete_truncate_log_recovery()
6302 void ocfs2_truncate_log_shutdown(struct ocfs2_super *osb) in ocfs2_truncate_log_shutdown() argument
6305 struct inode *tl_inode = osb->osb_tl_inode; in ocfs2_truncate_log_shutdown()
6307 atomic_set(&osb->osb_tl_disable, 1); in ocfs2_truncate_log_shutdown()
6310 cancel_delayed_work(&osb->osb_truncate_log_wq); in ocfs2_truncate_log_shutdown()
6311 flush_workqueue(osb->ocfs2_wq); in ocfs2_truncate_log_shutdown()
6313 status = ocfs2_flush_truncate_log(osb); in ocfs2_truncate_log_shutdown()
6317 brelse(osb->osb_tl_bh); in ocfs2_truncate_log_shutdown()
6318 iput(osb->osb_tl_inode); in ocfs2_truncate_log_shutdown()
6322 int ocfs2_truncate_log_init(struct ocfs2_super *osb) in ocfs2_truncate_log_init() argument
6328 status = ocfs2_get_truncate_log_info(osb, in ocfs2_truncate_log_init()
6329 osb->slot_num, in ocfs2_truncate_log_init()
6338 INIT_DELAYED_WORK(&osb->osb_truncate_log_wq, in ocfs2_truncate_log_init()
6340 atomic_set(&osb->osb_tl_disable, 0); in ocfs2_truncate_log_init()
6341 osb->osb_tl_bh = tl_bh; in ocfs2_truncate_log_init()
6342 osb->osb_tl_inode = tl_inode; in ocfs2_truncate_log_init()
6385 static int ocfs2_free_cached_blocks(struct ocfs2_super *osb, in ocfs2_free_cached_blocks() argument
6397 inode = ocfs2_get_system_file_inode(osb, sysfile_type, slot); in ocfs2_free_cached_blocks()
6418 handle = ocfs2_start_trans(osb, OCFS2_SUBALLOC_FREE); in ocfs2_free_cached_blocks()
6433 ocfs2_commit_trans(osb, handle); in ocfs2_free_cached_blocks()
6480 static int ocfs2_free_cached_clusters(struct ocfs2_super *osb, in ocfs2_free_cached_clusters() argument
6484 struct inode *tl_inode = osb->osb_tl_inode; in ocfs2_free_cached_clusters()
6491 if (ocfs2_truncate_log_needs_flush(osb)) { in ocfs2_free_cached_clusters()
6492 ret = __ocfs2_flush_truncate_log(osb); in ocfs2_free_cached_clusters()
6499 handle = ocfs2_start_trans(osb, OCFS2_TRUNCATE_LOG_UPDATE); in ocfs2_free_cached_clusters()
6506 ret = ocfs2_truncate_log_append(osb, handle, head->free_blk, in ocfs2_free_cached_clusters()
6509 ocfs2_commit_trans(osb, handle); in ocfs2_free_cached_clusters()
6532 int ocfs2_run_deallocs(struct ocfs2_super *osb, in ocfs2_run_deallocs() argument
6547 ret2 = ocfs2_free_cached_blocks(osb, in ocfs2_run_deallocs()
6562 ret2 = ocfs2_free_cached_clusters(osb, in ocfs2_run_deallocs()
6661 struct ocfs2_super *osb = in ocfs2_reuse_blk_from_dealloc() local
6677 osb->slot_num, &real_slot, in ocfs2_reuse_blk_from_dealloc()
6690 new_eb_bh[i] = sb_getblk(osb->sb, bf->free_blk); in ocfs2_reuse_blk_from_dealloc()
6699 bf->free_blk, osb->slot_num, real_slot); in ocfs2_reuse_blk_from_dealloc()
6711 memset(new_eb_bh[i]->b_data, 0, osb->sb->s_blocksize); in ocfs2_reuse_blk_from_dealloc()
6719 eb->h_fs_generation = cpu_to_le32(osb->fs_generation); in ocfs2_reuse_blk_from_dealloc()
6724 cpu_to_le16(ocfs2_extent_recs_per_eb(osb->sb)); in ocfs2_reuse_blk_from_dealloc()
7061 struct ocfs2_super *osb = OCFS2_SB(inode->i_sb); in ocfs2_convert_inline_data_to_extents() local
7071 ret = ocfs2_reserve_clusters(osb, 1, &data_ac); in ocfs2_convert_inline_data_to_extents()
7078 handle = ocfs2_start_trans(osb, in ocfs2_convert_inline_data_to_extents()
7079 ocfs2_inline_to_extents_credits(osb->sb)); in ocfs2_convert_inline_data_to_extents()
7095 osb->s_clustersize); in ocfs2_convert_inline_data_to_extents()
7099 ocfs2_clusters_to_bytes(osb->sb, 1)); in ocfs2_convert_inline_data_to_extents()
7176 ocfs2_clusters_to_bytes(osb->sb, 1)); in ocfs2_convert_inline_data_to_extents()
7180 ocfs2_free_local_alloc_bits(osb, handle, data_ac, in ocfs2_convert_inline_data_to_extents()
7186 ocfs2_clusters_to_blocks(osb->sb, bit_off), in ocfs2_convert_inline_data_to_extents()
7190 ocfs2_commit_trans(osb, handle); in ocfs2_convert_inline_data_to_extents()
7204 int ocfs2_commit_truncate(struct ocfs2_super *osb, in ocfs2_commit_truncate() argument
7224 new_highest_cpos = ocfs2_clusters_for_bytes(osb->sb, in ocfs2_commit_truncate()
7296 status = ocfs2_remove_rightmost_empty_extent(osb, in ocfs2_commit_truncate()
7338 status = ocfs2_lock_refcount_tree(osb, refcount_loc, 1, in ocfs2_commit_truncate()
7364 ocfs2_unlock_refcount_tree(osb, ref_tree, 1); in ocfs2_commit_truncate()
7366 ocfs2_schedule_truncate_log_flush(osb, 1); in ocfs2_commit_truncate()
7368 ocfs2_run_deallocs(osb, &dealloc); in ocfs2_commit_truncate()
7384 struct ocfs2_super *osb = OCFS2_SB(inode->i_sb); in ocfs2_truncate_inline() local
7399 !ocfs2_supports_inline_data(osb)) { in ocfs2_truncate_inline()
7405 osb->s_feature_incompat); in ocfs2_truncate_inline()
7410 handle = ocfs2_start_trans(osb, OCFS2_INODE_UPDATE_CREDITS); in ocfs2_truncate_inline()
7448 ocfs2_commit_trans(osb, handle); in ocfs2_truncate_inline()
7459 struct ocfs2_super *osb = OCFS2_SB(sb); in ocfs2_trim_extent() local
7472 if (group != osb->first_cluster_group_blkno) in ocfs2_trim_extent()
7528 struct ocfs2_super *osb = OCFS2_SB(sb); in ocfs2_trim_mainbm() local
7538 start = range->start >> osb->s_clustersize_bits; in ocfs2_trim_mainbm()
7539 len = range->len >> osb->s_clustersize_bits; in ocfs2_trim_mainbm()
7540 minlen = range->minlen >> osb->s_clustersize_bits; in ocfs2_trim_mainbm()
7542 if (minlen >= osb->bitmap_cpg || range->len < sb->s_blocksize) in ocfs2_trim_mainbm()
7548 main_bm_inode = ocfs2_get_system_file_inode(osb, in ocfs2_trim_mainbm()
7583 if (first_group == osb->first_cluster_group_blkno) in ocfs2_trim_mainbm()
7594 if (first_bit + len >= osb->bitmap_cpg) in ocfs2_trim_mainbm()
7595 last_bit = osb->bitmap_cpg; in ocfs2_trim_mainbm()
7619 len -= osb->bitmap_cpg - first_bit; in ocfs2_trim_mainbm()
7621 if (group == osb->first_cluster_group_blkno) in ocfs2_trim_mainbm()
7622 group = ocfs2_clusters_to_blocks(sb, osb->bitmap_cpg); in ocfs2_trim_mainbm()
7624 group += ocfs2_clusters_to_blocks(sb, osb->bitmap_cpg); in ocfs2_trim_mainbm()
7652 struct ocfs2_super *osb = OCFS2_SB(sb); in ocfs2_trim_fs() local
7655 ocfs2_trim_fs_lock_res_init(osb); in ocfs2_trim_fs()
7659 ret = ocfs2_trim_fs_lock(osb, NULL, 1); in ocfs2_trim_fs()
7663 ocfs2_trim_fs_lock_res_uninit(osb); in ocfs2_trim_fs()
7669 osb->dev_str); in ocfs2_trim_fs()
7670 ret = ocfs2_trim_fs_lock(osb, &info, 0); in ocfs2_trim_fs()
7673 ocfs2_trim_fs_lock_res_uninit(osb); in ocfs2_trim_fs()
7684 osb->dev_str, info.tf_nodenum); in ocfs2_trim_fs()
7690 info.tf_nodenum = osb->node_num; in ocfs2_trim_fs()
7701 ocfs2_trim_fs_unlock(osb, pinfo); in ocfs2_trim_fs()
7702 ocfs2_trim_fs_lock_res_uninit(osb); in ocfs2_trim_fs()