Lines Matching refs:handle

87 static int ext4_split_extent_at(handle_t *handle,
136 int ext4_datasem_ensure_credits(handle_t *handle, struct inode *inode, in ext4_datasem_ensure_credits() argument
143 ret = ext4_journal_ensure_credits_fn(handle, check_cred, restart_cred, in ext4_datasem_ensure_credits()
155 static int ext4_ext_get_access(handle_t *handle, struct inode *inode, in ext4_ext_get_access() argument
163 err = ext4_journal_get_write_access(handle, inode->i_sb, in ext4_ext_get_access()
186 handle_t *handle, struct inode *inode, in __ext4_ext_dirty() argument
195 err = __ext4_handle_dirty_metadata(where, line, handle, in __ext4_ext_dirty()
202 err = ext4_mark_inode_dirty(handle, inode); in __ext4_ext_dirty()
207 #define ext4_ext_dirty(handle, inode, path) \ argument
208 __ext4_ext_dirty(__func__, __LINE__, (handle), (inode), (path))
260 ext4_ext_new_meta_block(handle_t *handle, struct inode *inode, in ext4_ext_new_meta_block() argument
267 newblock = ext4_new_meta_blocks(handle, inode, goal, flags, in ext4_ext_new_meta_block()
327 ext4_force_split_extent_at(handle_t *handle, struct inode *inode, in ext4_force_split_extent_at() argument
338 return ext4_split_extent_at(handle, inode, ppath, lblk, unwritten ? in ext4_force_split_extent_at()
869 void ext4_ext_tree_init(handle_t *handle, struct inode *inode) in ext4_ext_tree_init() argument
879 ext4_mark_inode_dirty(handle, inode); in ext4_ext_tree_init()
974 static int ext4_ext_insert_index(handle_t *handle, struct inode *inode, in ext4_ext_insert_index() argument
981 err = ext4_ext_get_access(handle, inode, curp); in ext4_ext_insert_index()
1036 err = ext4_ext_dirty(handle, inode, curp); in ext4_ext_insert_index()
1052 static int ext4_ext_split(handle_t *handle, struct inode *inode, in ext4_ext_split() argument
1112 newblock = ext4_ext_new_meta_block(handle, inode, path, in ext4_ext_split()
1133 err = ext4_journal_get_create_access(handle, inode->i_sb, bh, in ext4_ext_split()
1172 err = ext4_handle_dirty_metadata(handle, inode, bh); in ext4_ext_split()
1180 err = ext4_ext_get_access(handle, inode, path + depth); in ext4_ext_split()
1184 err = ext4_ext_dirty(handle, inode, path + depth); in ext4_ext_split()
1212 err = ext4_journal_get_create_access(handle, inode->i_sb, bh, in ext4_ext_split()
1258 err = ext4_handle_dirty_metadata(handle, inode, bh); in ext4_ext_split()
1266 err = ext4_ext_get_access(handle, inode, path + i); in ext4_ext_split()
1270 err = ext4_ext_dirty(handle, inode, path + i); in ext4_ext_split()
1279 err = ext4_ext_insert_index(handle, inode, path + at, in ext4_ext_split()
1294 ext4_free_blocks(handle, inode, NULL, ablocks[i], 1, in ext4_ext_split()
1311 static int ext4_ext_grow_indepth(handle_t *handle, struct inode *inode, in ext4_ext_grow_indepth() argument
1329 newblock = ext4_new_meta_blocks(handle, inode, goal, flags, in ext4_ext_grow_indepth()
1339 err = ext4_journal_get_create_access(handle, inode->i_sb, bh, in ext4_ext_grow_indepth()
1366 err = ext4_handle_dirty_metadata(handle, inode, bh); in ext4_ext_grow_indepth()
1386 err = ext4_mark_inode_dirty(handle, inode); in ext4_ext_grow_indepth()
1398 static int ext4_ext_create_new_leaf(handle_t *handle, struct inode *inode, in ext4_ext_create_new_leaf() argument
1423 err = ext4_ext_split(handle, inode, mb_flags, path, newext, i); in ext4_ext_create_new_leaf()
1435 err = ext4_ext_grow_indepth(handle, inode, mb_flags); in ext4_ext_create_new_leaf()
1705 static int ext4_ext_correct_indexes(handle_t *handle, struct inode *inode, in ext4_ext_correct_indexes() argument
1738 err = ext4_ext_get_access(handle, inode, path + k); in ext4_ext_correct_indexes()
1742 err = ext4_ext_dirty(handle, inode, path + k); in ext4_ext_correct_indexes()
1750 err = ext4_ext_get_access(handle, inode, path + k); in ext4_ext_correct_indexes()
1754 err = ext4_ext_dirty(handle, inode, path + k); in ext4_ext_correct_indexes()
1842 static void ext4_ext_try_to_merge_up(handle_t *handle, in ext4_ext_try_to_merge_up() argument
1860 if (ext4_journal_extend(handle, 2, in ext4_ext_try_to_merge_up()
1880 ext4_free_blocks(handle, inode, NULL, blk, 1, in ext4_ext_try_to_merge_up()
1888 static void ext4_ext_try_to_merge(handle_t *handle, in ext4_ext_try_to_merge() argument
1907 ext4_ext_try_to_merge_up(handle, inode, path); in ext4_ext_try_to_merge()
1967 int ext4_ext_insert_extent(handle_t *handle, struct inode *inode, in ext4_ext_insert_extent() argument
2026 err = ext4_ext_get_access(handle, inode, in ext4_ext_insert_extent()
2051 err = ext4_ext_get_access(handle, inode, in ext4_ext_insert_extent()
2102 err = ext4_ext_create_new_leaf(handle, inode, mb_flags, gb_flags, in ext4_ext_insert_extent()
2112 err = ext4_ext_get_access(handle, inode, path + depth); in ext4_ext_insert_extent()
2170 ext4_ext_try_to_merge(handle, inode, path, nearex); in ext4_ext_insert_extent()
2174 err = ext4_ext_correct_indexes(handle, inode, path); in ext4_ext_insert_extent()
2178 err = ext4_ext_dirty(handle, inode, path + path->p_depth); in ext4_ext_insert_extent()
2277 static int ext4_ext_rm_idx(handle_t *handle, struct inode *inode, in ext4_ext_rm_idx() argument
2291 err = ext4_ext_get_access(handle, inode, path); in ext4_ext_rm_idx()
2302 err = ext4_ext_dirty(handle, inode, path); in ext4_ext_rm_idx()
2308 ext4_free_blocks(handle, inode, NULL, leaf, 1, in ext4_ext_rm_idx()
2315 err = ext4_ext_get_access(handle, inode, path); in ext4_ext_rm_idx()
2319 err = ext4_ext_dirty(handle, inode, path); in ext4_ext_rm_idx()
2430 static int ext4_remove_blocks(handle_t *handle, struct inode *inode, in ext4_remove_blocks() argument
2477 ext4_free_blocks(handle, inode, NULL, in ext4_remove_blocks()
2503 ext4_free_blocks(handle, inode, NULL, in ext4_remove_blocks()
2521 ext4_free_blocks(handle, inode, NULL, pblk, num, flags); in ext4_remove_blocks()
2566 ext4_ext_rm_leaf(handle_t *handle, struct inode *inode, in ext4_ext_rm_leaf() argument
2674 err = ext4_datasem_ensure_credits(handle, inode, credits, in ext4_ext_rm_leaf()
2682 err = ext4_ext_get_access(handle, inode, path + depth); in ext4_ext_rm_leaf()
2686 err = ext4_remove_blocks(handle, inode, ex, partial, a, b); in ext4_ext_rm_leaf()
2722 err = ext4_ext_dirty(handle, inode, path + depth); in ext4_ext_rm_leaf()
2734 err = ext4_ext_correct_indexes(handle, inode, path); in ext4_ext_rm_leaf()
2750 ext4_free_blocks(handle, inode, NULL, in ext4_ext_rm_leaf()
2762 err = ext4_ext_rm_idx(handle, inode, path, depth); in ext4_ext_rm_leaf()
2796 handle_t *handle; in ext4_ext_remove_space() local
2806 handle = ext4_journal_start_with_revoke(inode, EXT4_HT_TRUNCATE, in ext4_ext_remove_space()
2809 if (IS_ERR(handle)) in ext4_ext_remove_space()
2810 return PTR_ERR(handle); in ext4_ext_remove_space()
2831 ext4_journal_stop(handle); in ext4_ext_remove_space()
2875 err = ext4_force_split_extent_at(handle, inode, &path, in ext4_ext_remove_space()
2917 ext4_journal_stop(handle); in ext4_ext_remove_space()
2934 err = ext4_ext_rm_leaf(handle, inode, path, in ext4_ext_remove_space()
2997 err = ext4_ext_rm_idx(handle, inode, path, i); in ext4_ext_remove_space()
3019 ext4_free_blocks(handle, inode, NULL, in ext4_ext_remove_space()
3033 err = ext4_ext_get_access(handle, inode, path); in ext4_ext_remove_space()
3038 err = ext4_ext_dirty(handle, inode, path); in ext4_ext_remove_space()
3046 ext4_journal_stop(handle); in ext4_ext_remove_space()
3152 static int ext4_split_extent_at(handle_t *handle, in ext4_split_extent_at() argument
3186 err = ext4_ext_get_access(handle, inode, path + depth); in ext4_split_extent_at()
3202 ext4_ext_try_to_merge(handle, inode, path, ex); in ext4_split_extent_at()
3204 err = ext4_ext_dirty(handle, inode, path + path->p_depth); in ext4_split_extent_at()
3218 err = ext4_ext_dirty(handle, inode, path + depth); in ext4_split_extent_at()
3229 err = ext4_ext_insert_extent(handle, inode, ppath, &newex, flags); in ext4_split_extent_at()
3262 ext4_ext_try_to_merge(handle, inode, path, ex); in ext4_split_extent_at()
3263 err = ext4_ext_dirty(handle, inode, path + path->p_depth); in ext4_split_extent_at()
3282 ext4_ext_dirty(handle, inode, path + path->p_depth); in ext4_split_extent_at()
3300 static int ext4_split_extent(handle_t *handle, in ext4_split_extent() argument
3330 err = ext4_split_extent_at(handle, inode, ppath, in ext4_split_extent()
3360 err = ext4_split_extent_at(handle, inode, ppath, in ext4_split_extent()
3391 static int ext4_ext_convert_to_initialized(handle_t *handle, in ext4_ext_convert_to_initialized() argument
3475 err = ext4_ext_get_access(handle, inode, path + depth); in ext4_ext_convert_to_initialized()
3521 err = ext4_ext_get_access(handle, inode, path + depth); in ext4_ext_convert_to_initialized()
3543 err = ext4_ext_dirty(handle, inode, path + depth); in ext4_ext_convert_to_initialized()
3613 err = ext4_split_extent(handle, inode, ppath, &split_map, split_flag, in ext4_ext_convert_to_initialized()
3650 static int ext4_split_convert_extents(handle_t *handle, in ext4_split_convert_extents() argument
3689 return ext4_split_extent(handle, inode, ppath, map, split_flag, flags); in ext4_split_convert_extents()
3692 static int ext4_convert_unwritten_extents_endio(handle_t *handle, in ext4_convert_unwritten_extents_endio() argument
3725 err = ext4_split_convert_extents(handle, inode, map, ppath, in ext4_convert_unwritten_extents_endio()
3736 err = ext4_ext_get_access(handle, inode, path + depth); in ext4_convert_unwritten_extents_endio()
3745 ext4_ext_try_to_merge(handle, inode, path, ex); in ext4_convert_unwritten_extents_endio()
3748 err = ext4_ext_dirty(handle, inode, path + path->p_depth); in ext4_convert_unwritten_extents_endio()
3755 convert_initialized_extent(handle_t *handle, struct inode *inode, in convert_initialized_extent() argument
3783 err = ext4_split_convert_extents(handle, inode, map, ppath, in convert_initialized_extent()
3799 err = ext4_ext_get_access(handle, inode, path + depth); in convert_initialized_extent()
3808 ext4_ext_try_to_merge(handle, inode, path, ex); in convert_initialized_extent()
3811 err = ext4_ext_dirty(handle, inode, path + path->p_depth); in convert_initialized_extent()
3816 ext4_update_inode_fsync_trans(handle, inode, 1); in convert_initialized_extent()
3826 ext4_ext_handle_unwritten_extents(handle_t *handle, struct inode *inode, in ext4_ext_handle_unwritten_extents() argument
3851 ret = ext4_split_convert_extents(handle, inode, map, ppath, in ext4_ext_handle_unwritten_extents()
3873 err = ext4_convert_unwritten_extents_endio(handle, inode, map, in ext4_ext_handle_unwritten_extents()
3877 ext4_update_inode_fsync_trans(handle, inode, 1); in ext4_ext_handle_unwritten_extents()
3908 ret = ext4_ext_convert_to_initialized(handle, inode, map, ppath, flags); in ext4_ext_handle_unwritten_extents()
3913 ext4_update_inode_fsync_trans(handle, inode, 1); in ext4_ext_handle_unwritten_extents()
4124 int ext4_ext_map_blocks(handle_t *handle, struct inode *inode, in ext4_ext_map_blocks() argument
4193 err = convert_initialized_extent(handle, in ext4_ext_map_blocks()
4207 handle, inode, map, &path, flags, in ext4_ext_map_blocks()
4315 newblock = ext4_mb_new_blocks(handle, &ar, &err); in ext4_ext_map_blocks()
4336 err = ext4_ext_insert_extent(handle, inode, &path, &newex, flags); in ext4_ext_map_blocks()
4349 ext4_free_blocks(handle, inode, NULL, newblock, in ext4_ext_map_blocks()
4398 ext4_update_inode_fsync_trans(handle, inode, 1); in ext4_ext_map_blocks()
4400 ext4_update_inode_fsync_trans(handle, inode, 0); in ext4_ext_map_blocks()
4415 int ext4_ext_truncate(handle_t *handle, struct inode *inode) in ext4_ext_truncate() argument
4429 err = ext4_mark_inode_dirty(handle, inode); in ext4_ext_truncate()
4451 handle_t *handle; in ext4_alloc_file_blocks() local
4486 handle = ext4_journal_start(inode, EXT4_HT_MAP_BLOCKS, in ext4_alloc_file_blocks()
4488 if (IS_ERR(handle)) { in ext4_alloc_file_blocks()
4489 ret = PTR_ERR(handle); in ext4_alloc_file_blocks()
4492 ret = ext4_map_blocks(handle, inode, &map, flags); in ext4_alloc_file_blocks()
4498 ext4_mark_inode_dirty(handle, inode); in ext4_alloc_file_blocks()
4499 ext4_journal_stop(handle); in ext4_alloc_file_blocks()
4516 ret2 = ext4_mark_inode_dirty(handle, inode); in ext4_alloc_file_blocks()
4517 ext4_update_inode_fsync_trans(handle, inode, 1); in ext4_alloc_file_blocks()
4518 ret3 = ext4_journal_stop(handle); in ext4_alloc_file_blocks()
4538 handle_t *handle = NULL; in ext4_zero_range() local
4670 handle = ext4_journal_start(inode, EXT4_HT_MISC, credits); in ext4_zero_range()
4671 if (IS_ERR(handle)) { in ext4_zero_range()
4672 ret = PTR_ERR(handle); in ext4_zero_range()
4680 ret = ext4_mark_inode_dirty(handle, inode); in ext4_zero_range()
4684 ret = ext4_zero_partial_blocks(handle, inode, offset, len); in ext4_zero_range()
4686 ext4_update_inode_fsync_trans(handle, inode, 1); in ext4_zero_range()
4689 ext4_handle_sync(handle); in ext4_zero_range()
4692 ext4_journal_stop(handle); in ext4_zero_range()
4813 int ext4_convert_unwritten_extents(handle_t *handle, struct inode *inode, in ext4_convert_unwritten_extents() argument
4825 if (!handle) { in ext4_convert_unwritten_extents()
4835 handle = ext4_journal_start(inode, EXT4_HT_MAP_BLOCKS, in ext4_convert_unwritten_extents()
4837 if (IS_ERR(handle)) { in ext4_convert_unwritten_extents()
4838 ret = PTR_ERR(handle); in ext4_convert_unwritten_extents()
4842 ret = ext4_map_blocks(handle, inode, &map, in ext4_convert_unwritten_extents()
4850 ret2 = ext4_mark_inode_dirty(handle, inode); in ext4_convert_unwritten_extents()
4852 ret3 = ext4_journal_stop(handle); in ext4_convert_unwritten_extents()
4863 int ext4_convert_unwritten_io_end_vec(handle_t *handle, ext4_io_end_t *io_end) in ext4_convert_unwritten_io_end_vec() argument
4873 if (handle) { in ext4_convert_unwritten_io_end_vec()
4874 handle = ext4_journal_start_reserved(handle, in ext4_convert_unwritten_io_end_vec()
4876 if (IS_ERR(handle)) in ext4_convert_unwritten_io_end_vec()
4877 return PTR_ERR(handle); in ext4_convert_unwritten_io_end_vec()
4881 ret = ext4_convert_unwritten_extents(handle, io_end->inode, in ext4_convert_unwritten_io_end_vec()
4888 if (handle) in ext4_convert_unwritten_io_end_vec()
4889 err = ext4_journal_stop(handle); in ext4_convert_unwritten_io_end_vec()
5057 struct inode *inode, handle_t *handle, in ext4_ext_shift_path_extents() argument
5082 err = ext4_datasem_ensure_credits(handle, inode, credits, in ext4_ext_shift_path_extents()
5090 err = ext4_ext_get_access(handle, inode, path + depth); in ext4_ext_shift_path_extents()
5114 err = ext4_ext_dirty(handle, inode, path + depth); in ext4_ext_shift_path_extents()
5123 err = ext4_ext_get_access(handle, inode, path + depth); in ext4_ext_shift_path_extents()
5131 err = ext4_ext_dirty(handle, inode, path + depth); in ext4_ext_shift_path_extents()
5154 ext4_ext_shift_extents(struct inode *inode, handle_t *handle, in ext4_ext_shift_extents() argument
5279 handle, SHIFT); in ext4_ext_shift_extents()
5302 handle_t *handle; in ext4_collapse_range() local
5381 handle = ext4_journal_start(inode, EXT4_HT_TRUNCATE, credits); in ext4_collapse_range()
5382 if (IS_ERR(handle)) { in ext4_collapse_range()
5383 ret = PTR_ERR(handle); in ext4_collapse_range()
5386 ext4_fc_mark_ineligible(sb, EXT4_FC_REASON_FALLOC_RANGE, handle); in ext4_collapse_range()
5399 ret = ext4_ext_shift_extents(inode, handle, punch_stop, in ext4_collapse_range()
5412 ext4_handle_sync(handle); in ext4_collapse_range()
5414 ret = ext4_mark_inode_dirty(handle, inode); in ext4_collapse_range()
5415 ext4_update_inode_fsync_trans(handle, inode, 1); in ext4_collapse_range()
5418 ext4_journal_stop(handle); in ext4_collapse_range()
5439 handle_t *handle; in ext4_insert_range() local
5513 handle = ext4_journal_start(inode, EXT4_HT_TRUNCATE, credits); in ext4_insert_range()
5514 if (IS_ERR(handle)) { in ext4_insert_range()
5515 ret = PTR_ERR(handle); in ext4_insert_range()
5518 ext4_fc_mark_ineligible(sb, EXT4_FC_REASON_FALLOC_RANGE, handle); in ext4_insert_range()
5524 ret = ext4_mark_inode_dirty(handle, inode); in ext4_insert_range()
5552 ret = ext4_split_extent_at(handle, inode, &path, in ext4_insert_range()
5574 ret = ext4_ext_shift_extents(inode, handle, in ext4_insert_range()
5579 ext4_handle_sync(handle); in ext4_insert_range()
5581 ext4_update_inode_fsync_trans(handle, inode, 1); in ext4_insert_range()
5584 ext4_journal_stop(handle); in ext4_insert_range()
5613 ext4_swap_extents(handle_t *handle, struct inode *inode1, in ext4_swap_extents() argument
5691 *erp = ext4_force_split_extent_at(handle, inode1, in ext4_swap_extents()
5698 *erp = ext4_force_split_extent_at(handle, inode2, in ext4_swap_extents()
5717 *erp = ext4_force_split_extent_at(handle, inode1, in ext4_swap_extents()
5724 *erp = ext4_force_split_extent_at(handle, inode2, in ext4_swap_extents()
5735 *erp = ext4_ext_get_access(handle, inode1, path1 + path1->p_depth); in ext4_swap_extents()
5738 *erp = ext4_ext_get_access(handle, inode2, path2 + path2->p_depth); in ext4_swap_extents()
5753 ext4_ext_try_to_merge(handle, inode2, path2, ex2); in ext4_swap_extents()
5754 ext4_ext_try_to_merge(handle, inode1, path1, ex1); in ext4_swap_extents()
5755 *erp = ext4_ext_dirty(handle, inode2, path2 + in ext4_swap_extents()
5759 *erp = ext4_ext_dirty(handle, inode1, path1 + in ext4_swap_extents()