Lines Matching refs:depth

115 	int depth, i;  in ext4_ext_drop_refs()  local
119 depth = path->p_depth; in ext4_ext_drop_refs()
120 for (i = 0; i <= depth; i++, path++) in ext4_ext_drop_refs()
219 int depth = path->p_depth; in ext4_ext_find_goal() local
239 ex = path[depth].p_ext; in ext4_ext_find_goal()
252 if (path[depth].p_bh) in ext4_ext_find_goal()
253 return path[depth].p_bh->b_blocknr; in ext4_ext_find_goal()
347 ext4_ext_max_entries(struct inode *inode, int depth) in ext4_ext_max_entries() argument
351 if (depth == ext_depth(inode)) { in ext4_ext_max_entries()
352 if (depth == 0) in ext4_ext_max_entries()
357 if (depth == 0) in ext4_ext_max_entries()
393 int depth) in ext4_valid_extent_entries() argument
404 if (depth == 0) { in ext4_valid_extent_entries()
412 if (depth != ext_depth(inode) && in ext4_valid_extent_entries()
436 if (depth != ext_depth(inode) && in ext4_valid_extent_entries()
459 int depth, ext4_fsblk_t pblk, ext4_lblk_t lblk) in __ext4_ext_check() argument
468 if (unlikely(le16_to_cpu(eh->eh_depth) != depth)) { in __ext4_ext_check()
476 max = ext4_ext_max_entries(inode, depth); in __ext4_ext_check()
485 if (unlikely((eh->eh_entries == 0) && (depth > 0))) { in __ext4_ext_check()
489 if (!ext4_valid_extent_entries(inode, eh, lblk, &pblk, depth)) { in __ext4_ext_check()
493 if (unlikely(depth > 32)) { in __ext4_ext_check()
498 if (ext_depth(inode) != depth && in __ext4_ext_check()
514 max, le16_to_cpu(eh->eh_depth), depth); in __ext4_ext_check()
518 #define ext4_ext_check(inode, eh, depth, pblk) \ argument
519 __ext4_ext_check(__func__, __LINE__, (inode), (eh), (depth), (pblk), 0)
553 int depth, int flags) in __read_extent_tree_block() argument
577 depth, pblk, le32_to_cpu(idx->ei_block)); in __read_extent_tree_block()
584 if (!(flags & EXT4_EX_NOCACHE) && depth == 0) { in __read_extent_tree_block()
595 #define read_extent_tree_block(inode, idx, depth, flags) \ argument
597 (depth), (flags))
608 int i = 0, depth, ret = 0; in ext4_ext_precache() local
616 depth = ext_depth(inode); in ext4_ext_precache()
619 if (!depth) { in ext4_ext_precache()
624 path = kcalloc(depth + 1, sizeof(struct ext4_ext_path), in ext4_ext_precache()
632 ret = ext4_ext_check(inode, path[0].p_hdr, depth, 0); in ext4_ext_precache()
641 if ((i == depth) || in ext4_ext_precache()
648 depth - i - 1, in ext4_ext_precache()
691 int depth = ext_depth(inode); in ext4_ext_show_leaf() local
699 eh = path[depth].p_hdr; in ext4_ext_show_leaf()
715 int depth = ext_depth(inode); in ext4_ext_show_move() local
718 if (depth != level) { in ext4_ext_show_move()
731 ex = path[depth].p_ext; in ext4_ext_show_move()
732 while (ex <= EXT_MAX_EXTENT(path[depth].p_hdr)) { in ext4_ext_show_move()
892 short int depth, i, ppos = 0; in ext4_find_extent() local
900 depth = ext_depth(inode); in ext4_find_extent()
901 if (depth < 0 || depth > EXT4_MAX_EXTENT_DEPTH) { in ext4_find_extent()
903 depth); in ext4_find_extent()
910 if (depth > path[0].p_maxdepth) { in ext4_find_extent()
917 path = kcalloc(depth + 2, sizeof(struct ext4_ext_path), in ext4_find_extent()
921 path[0].p_maxdepth = depth + 1; in ext4_find_extent()
926 i = depth; in ext4_find_extent()
927 if (!(flags & EXT4_EX_NOCACHE) && depth == 0) in ext4_find_extent()
1059 int depth = ext_depth(inode); in ext4_ext_split() local
1078 if (unlikely(path[depth].p_ext > EXT_MAX_EXTENT(path[depth].p_hdr))) { in ext4_ext_split()
1082 if (path[depth].p_ext != EXT_MAX_EXTENT(path[depth].p_hdr)) { in ext4_ext_split()
1083 border = path[depth].p_ext[1].ee_block; in ext4_ext_split()
1106 ablocks = kcalloc(depth, sizeof(ext4_fsblk_t), gfp_flags); in ext4_ext_split()
1111 ext_debug(inode, "allocate %d blocks for indexes/leaf\n", depth - at); in ext4_ext_split()
1112 for (a = 0; a < depth - at; a++) { in ext4_ext_split()
1147 if (unlikely(path[depth].p_hdr->eh_entries != in ext4_ext_split()
1148 path[depth].p_hdr->eh_max)) { in ext4_ext_split()
1150 path[depth].p_hdr->eh_entries, in ext4_ext_split()
1151 path[depth].p_hdr->eh_max); in ext4_ext_split()
1156 m = EXT_MAX_EXTENT(path[depth].p_hdr) - path[depth].p_ext++; in ext4_ext_split()
1157 ext4_ext_show_move(inode, path, newblock, depth); in ext4_ext_split()
1161 memmove(ex, path[depth].p_ext, sizeof(struct ext4_extent) * m); in ext4_ext_split()
1181 err = ext4_ext_get_access(handle, inode, path + depth); in ext4_ext_split()
1184 le16_add_cpu(&path[depth].p_hdr->eh_entries, -m); in ext4_ext_split()
1185 err = ext4_ext_dirty(handle, inode, path + depth); in ext4_ext_split()
1192 k = depth - at - 1; in ext4_ext_split()
1202 i = depth - 1; in ext4_ext_split()
1222 neh->eh_depth = cpu_to_le16(depth - i); in ext4_ext_split()
1292 for (i = 0; i < depth; i++) { in ext4_ext_split()
1406 int depth, i, err = 0; in ext4_ext_create_new_leaf() local
1410 i = depth = ext_depth(inode); in ext4_ext_create_new_leaf()
1413 curp = path + depth; in ext4_ext_create_new_leaf()
1447 depth = ext_depth(inode); in ext4_ext_create_new_leaf()
1448 if (path[depth].p_hdr->eh_entries == path[depth].p_hdr->eh_max) { in ext4_ext_create_new_leaf()
1473 int depth, ee_len; in ext4_ext_search_left() local
1479 depth = path->p_depth; in ext4_ext_search_left()
1482 if (depth == 0 && path->p_ext == NULL) in ext4_ext_search_left()
1489 ex = path[depth].p_ext; in ext4_ext_search_left()
1492 if (unlikely(EXT_FIRST_EXTENT(path[depth].p_hdr) != ex)) { in ext4_ext_search_left()
1498 while (--depth >= 0) { in ext4_ext_search_left()
1499 ix = path[depth].p_idx; in ext4_ext_search_left()
1500 if (unlikely(ix != EXT_FIRST_INDEX(path[depth].p_hdr))) { in ext4_ext_search_left()
1504 le32_to_cpu(EXT_FIRST_INDEX(path[depth].p_hdr)->ei_block), in ext4_ext_search_left()
1505 depth); in ext4_ext_search_left()
1540 int depth; /* Note, NOT eh_depth; depth from top of tree */ in ext4_ext_search_right() local
1547 depth = path->p_depth; in ext4_ext_search_right()
1550 if (depth == 0 && path->p_ext == NULL) in ext4_ext_search_right()
1557 ex = path[depth].p_ext; in ext4_ext_search_right()
1560 if (unlikely(EXT_FIRST_EXTENT(path[depth].p_hdr) != ex)) { in ext4_ext_search_right()
1563 depth); in ext4_ext_search_right()
1566 while (--depth >= 0) { in ext4_ext_search_right()
1567 ix = path[depth].p_idx; in ext4_ext_search_right()
1568 if (unlikely(ix != EXT_FIRST_INDEX(path[depth].p_hdr))) { in ext4_ext_search_right()
1585 if (ex != EXT_LAST_EXTENT(path[depth].p_hdr)) { in ext4_ext_search_right()
1592 while (--depth >= 0) { in ext4_ext_search_right()
1593 ix = path[depth].p_idx; in ext4_ext_search_right()
1594 if (ix != EXT_LAST_INDEX(path[depth].p_hdr)) in ext4_ext_search_right()
1606 while (++depth < path->p_depth) { in ext4_ext_search_right()
1608 bh = read_extent_tree_block(inode, ix, path->p_depth - depth, in ext4_ext_search_right()
1617 bh = read_extent_tree_block(inode, ix, path->p_depth - depth, flags); in ext4_ext_search_right()
1642 int depth; in ext4_ext_next_allocated_block() local
1645 depth = path->p_depth; in ext4_ext_next_allocated_block()
1647 if (depth == 0 && path->p_ext == NULL) in ext4_ext_next_allocated_block()
1650 while (depth >= 0) { in ext4_ext_next_allocated_block()
1651 struct ext4_ext_path *p = &path[depth]; in ext4_ext_next_allocated_block()
1653 if (depth == path->p_depth) { in ext4_ext_next_allocated_block()
1662 depth--; in ext4_ext_next_allocated_block()
1674 int depth; in ext4_ext_next_leaf_block() local
1677 depth = path->p_depth; in ext4_ext_next_leaf_block()
1680 if (depth == 0) in ext4_ext_next_leaf_block()
1684 depth--; in ext4_ext_next_leaf_block()
1686 while (depth >= 0) { in ext4_ext_next_leaf_block()
1687 if (path[depth].p_idx != in ext4_ext_next_leaf_block()
1688 EXT_LAST_INDEX(path[depth].p_hdr)) in ext4_ext_next_leaf_block()
1690 le32_to_cpu(path[depth].p_idx[1].ei_block); in ext4_ext_next_leaf_block()
1691 depth--; in ext4_ext_next_leaf_block()
1707 int depth = ext_depth(inode); in ext4_ext_correct_indexes() local
1712 eh = path[depth].p_hdr; in ext4_ext_correct_indexes()
1713 ex = path[depth].p_ext; in ext4_ext_correct_indexes()
1721 if (depth == 0) { in ext4_ext_correct_indexes()
1734 k = depth - 1; in ext4_ext_correct_indexes()
1735 border = path[depth].p_ext->ee_block; in ext4_ext_correct_indexes()
1765 while (++k < depth) in ext4_ext_correct_indexes()
1815 unsigned int depth, len; in ext4_ext_try_to_merge_right() local
1818 depth = ext_depth(inode); in ext4_ext_try_to_merge_right()
1819 BUG_ON(path[depth].p_hdr == NULL); in ext4_ext_try_to_merge_right()
1820 eh = path[depth].p_hdr; in ext4_ext_try_to_merge_right()
1903 unsigned int depth; in ext4_ext_try_to_merge() local
1906 depth = ext_depth(inode); in ext4_ext_try_to_merge()
1907 BUG_ON(path[depth].p_hdr == NULL); in ext4_ext_try_to_merge()
1908 eh = path[depth].p_hdr; in ext4_ext_try_to_merge()
1933 unsigned int depth, len1; in ext4_ext_check_overlap() local
1938 depth = ext_depth(inode); in ext4_ext_check_overlap()
1939 if (!path[depth].p_ext) in ext4_ext_check_overlap()
1941 b2 = EXT4_LBLK_CMASK(sbi, le32_to_cpu(path[depth].p_ext->ee_block)); in ext4_ext_check_overlap()
1984 int depth, len, err = 0; in ext4_ext_insert_extent() local
1995 depth = ext_depth(inode); in ext4_ext_insert_extent()
1996 ex = path[depth].p_ext; in ext4_ext_insert_extent()
1997 eh = path[depth].p_hdr; in ext4_ext_insert_extent()
1998 if (unlikely(path[depth].p_hdr == NULL)) { in ext4_ext_insert_extent()
1999 EXT4_ERROR_INODE(inode, "path[%d].p_hdr == NULL", depth); in ext4_ext_insert_extent()
2037 path + depth); in ext4_ext_insert_extent()
2062 path + depth); in ext4_ext_insert_extent()
2078 depth = ext_depth(inode); in ext4_ext_insert_extent()
2079 eh = path[depth].p_hdr; in ext4_ext_insert_extent()
2098 eh = npath[depth].p_hdr; in ext4_ext_insert_extent()
2121 depth = ext_depth(inode); in ext4_ext_insert_extent()
2122 eh = path[depth].p_hdr; in ext4_ext_insert_extent()
2125 nearex = path[depth].p_ext; in ext4_ext_insert_extent()
2127 err = ext4_ext_get_access(handle, inode, path + depth); in ext4_ext_insert_extent()
2177 path[depth].p_ext = nearex; in ext4_ext_insert_extent()
2266 int depth = ext_depth(inode); in ext4_ext_find_hole() local
2270 ex = path[depth].p_ext; in ext4_ext_find_hole()
2296 struct ext4_ext_path *path, int depth) in ext4_ext_rm_idx() argument
2300 int k = depth - 1; in ext4_ext_rm_idx()
2348 while (++k < depth) in ext4_ext_rm_idx()
2365 int depth = ext_depth(inode); in ext4_ext_calc_credits_for_single_extent() local
2369 if (le16_to_cpu(path[depth].p_hdr->eh_entries) in ext4_ext_calc_credits_for_single_extent()
2370 < le16_to_cpu(path[depth].p_hdr->eh_max)) { in ext4_ext_calc_credits_for_single_extent()
2603 int depth = ext_depth(inode), credits, revoke_credits; in ext4_ext_rm_leaf() local
2615 if (!path[depth].p_hdr) in ext4_ext_rm_leaf()
2616 path[depth].p_hdr = ext_block_hdr(path[depth].p_bh); in ext4_ext_rm_leaf()
2617 eh = path[depth].p_hdr; in ext4_ext_rm_leaf()
2618 if (unlikely(path[depth].p_hdr == NULL)) { in ext4_ext_rm_leaf()
2619 EXT4_ERROR_INODE(inode, "path[%d].p_hdr == NULL", depth); in ext4_ext_rm_leaf()
2623 ex = path[depth].p_ext; in ext4_ext_rm_leaf()
2642 path[depth].p_ext = ex; in ext4_ext_rm_leaf()
2712 err = ext4_ext_get_access(handle, inode, path + depth); in ext4_ext_rm_leaf()
2752 err = ext4_ext_dirty(handle, inode, path + depth); in ext4_ext_rm_leaf()
2791 if (err == 0 && eh->eh_entries == 0 && path[depth].p_bh != NULL) in ext4_ext_rm_leaf()
2792 err = ext4_ext_rm_idx(handle, inode, path, depth); in ext4_ext_rm_leaf()
2823 int depth = ext_depth(inode); in ext4_ext_remove_space() local
2838 depth + 1, in ext4_ext_remove_space()
2839 ext4_free_metadata_revoke_credits(inode->i_sb, depth)); in ext4_ext_remove_space()
2844 trace_ext4_ext_remove_space(inode, start, end, depth); in ext4_ext_remove_space()
2864 depth = ext_depth(inode); in ext4_ext_remove_space()
2866 ex = path[depth].p_ext; in ext4_ext_remove_space()
2868 if (depth) { in ext4_ext_remove_space()
2871 depth); in ext4_ext_remove_space()
2938 depth = ext_depth(inode); in ext4_ext_remove_space()
2940 int k = i = depth; in ext4_ext_remove_space()
2945 path = kcalloc(depth + 1, sizeof(struct ext4_ext_path), in ext4_ext_remove_space()
2951 path[0].p_maxdepth = path[0].p_depth = depth; in ext4_ext_remove_space()
2955 if (ext4_ext_check(inode, path[0].p_hdr, depth, 0)) { in ext4_ext_remove_space()
2963 if (i == depth) { in ext4_ext_remove_space()
3001 depth - i - 1, flags); in ext4_ext_remove_space()
3010 if (WARN_ON(i + 1 > depth)) { in ext4_ext_remove_space()
3035 trace_ext4_ext_remove_space_done(inode, start, end, depth, &partial, in ext4_ext_remove_space()
3190 unsigned int ee_len, depth; in ext4_split_extent_at() local
3200 depth = ext_depth(inode); in ext4_split_extent_at()
3201 ex = path[depth].p_ext; in ext4_split_extent_at()
3212 err = ext4_ext_get_access(handle, inode, path + depth); in ext4_split_extent_at()
3244 err = ext4_ext_dirty(handle, inode, path + depth); in ext4_split_extent_at()
3277 depth = ext_depth(inode); in ext4_split_extent_at()
3278 ex = path[depth].p_ext; in ext4_split_extent_at()
3359 unsigned int ee_len, depth; in ext4_split_extent() local
3363 depth = ext_depth(inode); in ext4_split_extent()
3364 ex = path[depth].p_ext; in ext4_split_extent()
3388 depth = ext_depth(inode); in ext4_split_extent()
3389 ex = path[depth].p_ext; in ext4_split_extent()
3453 unsigned int ee_len, depth, map_len = map->m_len; in ext4_ext_convert_to_initialized() local
3467 depth = ext_depth(inode); in ext4_ext_convert_to_initialized()
3468 eh = path[depth].p_hdr; in ext4_ext_convert_to_initialized()
3469 ex = path[depth].p_ext; in ext4_ext_convert_to_initialized()
3524 err = ext4_ext_get_access(handle, inode, path + depth); in ext4_ext_convert_to_initialized()
3570 err = ext4_ext_get_access(handle, inode, path + depth); in ext4_ext_convert_to_initialized()
3592 err = ext4_ext_dirty(handle, inode, path + depth); in ext4_ext_convert_to_initialized()
3595 path[depth].p_ext = abut_ex; in ext4_ext_convert_to_initialized()
3715 int split_flag = 0, depth; in ext4_split_convert_extents() local
3728 depth = ext_depth(inode); in ext4_split_convert_extents()
3729 ex = path[depth].p_ext; in ext4_split_convert_extents()
3755 int depth; in ext4_convert_unwritten_extents_endio() local
3758 depth = ext_depth(inode); in ext4_convert_unwritten_extents_endio()
3759 ex = path[depth].p_ext; in ext4_convert_unwritten_extents_endio()
3787 depth = ext_depth(inode); in ext4_convert_unwritten_extents_endio()
3788 ex = path[depth].p_ext; in ext4_convert_unwritten_extents_endio()
3791 err = ext4_ext_get_access(handle, inode, path + depth); in ext4_convert_unwritten_extents_endio()
3824 int depth; in convert_initialized_extent() local
3834 depth = ext_depth(inode); in convert_initialized_extent()
3835 ex = path[depth].p_ext; in convert_initialized_extent()
3851 depth = ext_depth(inode); in convert_initialized_extent()
3852 ex = path[depth].p_ext; in convert_initialized_extent()
3861 err = ext4_ext_get_access(handle, inode, path + depth); in convert_initialized_extent()
4198 int err = 0, depth; in ext4_ext_map_blocks() local
4214 depth = ext_depth(inode); in ext4_ext_map_blocks()
4221 if (unlikely(path[depth].p_ext == NULL && depth != 0)) { in ext4_ext_map_blocks()
4224 (unsigned long) map->m_lblk, depth, in ext4_ext_map_blocks()
4225 path[depth].p_block); in ext4_ext_map_blocks()
4230 ex = path[depth].p_ext; in ext4_ext_map_blocks()
4450 if (!err && ex && (ex == EXT_LAST_EXTENT(path[depth].p_hdr))) in ext4_ext_map_blocks()
4500 int depth = 0; in ext4_alloc_file_blocks() local
4533 depth = ext_depth(inode); in ext4_alloc_file_blocks()
4540 if (depth != ext_depth(inode)) { in ext4_alloc_file_blocks()
4542 depth = ext_depth(inode); in ext4_alloc_file_blocks()
5197 int depth, err = 0; in ext4_ext_shift_path_extents() local
5201 depth = path->p_depth; in ext4_ext_shift_path_extents()
5203 while (depth >= 0) { in ext4_ext_shift_path_extents()
5204 if (depth == path->p_depth) { in ext4_ext_shift_path_extents()
5205 ex_start = path[depth].p_ext; in ext4_ext_shift_path_extents()
5209 ex_last = EXT_LAST_EXTENT(path[depth].p_hdr); in ext4_ext_shift_path_extents()
5212 if (ex_start == EXT_FIRST_EXTENT(path[depth].p_hdr)) { in ext4_ext_shift_path_extents()
5215 credits = depth + 2; in ext4_ext_shift_path_extents()
5227 err = ext4_ext_get_access(handle, inode, path + depth); in ext4_ext_shift_path_extents()
5237 EXT_FIRST_EXTENT(path[depth].p_hdr)) in ext4_ext_shift_path_extents()
5251 err = ext4_ext_dirty(handle, inode, path + depth); in ext4_ext_shift_path_extents()
5255 if (--depth < 0 || !update) in ext4_ext_shift_path_extents()
5260 err = ext4_ext_get_access(handle, inode, path + depth); in ext4_ext_shift_path_extents()
5265 le32_add_cpu(&path[depth].p_idx->ei_block, -shift); in ext4_ext_shift_path_extents()
5267 le32_add_cpu(&path[depth].p_idx->ei_block, shift); in ext4_ext_shift_path_extents()
5268 err = ext4_ext_dirty(handle, inode, path + depth); in ext4_ext_shift_path_extents()
5273 if (path[depth].p_idx != EXT_FIRST_INDEX(path[depth].p_hdr)) in ext4_ext_shift_path_extents()
5276 depth--; in ext4_ext_shift_path_extents()
5296 int ret = 0, depth; in ext4_ext_shift_extents() local
5307 depth = path->p_depth; in ext4_ext_shift_extents()
5308 extent = path[depth].p_ext; in ext4_ext_shift_extents()
5324 depth = path->p_depth; in ext4_ext_shift_extents()
5325 extent = path[depth].p_ext; in ext4_ext_shift_extents()
5373 depth = path->p_depth; in ext4_ext_shift_extents()
5374 extent = path[depth].p_ext; in ext4_ext_shift_extents()
5383 if (extent < EXT_LAST_EXTENT(path[depth].p_hdr)) { in ext4_ext_shift_extents()
5384 path[depth].p_ext++; in ext4_ext_shift_extents()
5393 extent = EXT_LAST_EXTENT(path[depth].p_hdr); in ext4_ext_shift_extents()
5397 extent = EXT_FIRST_EXTENT(path[depth].p_hdr); in ext4_ext_shift_extents()
5403 extent = EXT_LAST_EXTENT(path[depth].p_hdr); in ext4_ext_shift_extents()
5407 if (extent == EXT_LAST_EXTENT(path[depth].p_hdr)) in ext4_ext_shift_extents()
5413 path[depth].p_ext = extent; in ext4_ext_shift_extents()
5544 int ret, depth, split_flag = 0; in ext4_insert_range() local
5603 depth = ext_depth(inode); in ext4_insert_range()
5604 extent = path[depth].p_ext; in ext4_insert_range()
5864 int depth, mapped = 0, err = 0; in ext4_clu_mapped() local
5882 depth = ext_depth(inode); in ext4_clu_mapped()
5889 if (unlikely(path[depth].p_ext == NULL && depth != 0)) { in ext4_clu_mapped()
5893 depth, path[depth].p_block); in ext4_clu_mapped()
5898 extent = path[depth].p_ext; in ext4_clu_mapped()