Lines Matching refs:depth

175 		int depth = path->p_depth;  in ext4_ext_find_goal()  local
195 ex = path[depth].p_ext; in ext4_ext_find_goal()
208 if (path[depth].p_bh) in ext4_ext_find_goal()
209 return path[depth].p_bh->b_blocknr; in ext4_ext_find_goal()
348 ext4_ext_max_entries(struct inode *inode, int depth) in ext4_ext_max_entries() argument
352 if (depth == ext_depth(inode)) { in ext4_ext_max_entries()
353 if (depth == 0) in ext4_ext_max_entries()
358 if (depth == 0) in ext4_ext_max_entries()
393 int depth) in ext4_valid_extent_entries() argument
401 if (depth == 0) { in ext4_valid_extent_entries()
439 int depth, ext4_fsblk_t pblk) in __ext4_ext_check() argument
448 if (unlikely(le16_to_cpu(eh->eh_depth) != depth)) { in __ext4_ext_check()
456 max = ext4_ext_max_entries(inode, depth); in __ext4_ext_check()
465 if (!ext4_valid_extent_entries(inode, eh, depth)) { in __ext4_ext_check()
469 if (unlikely(depth > 32)) { in __ext4_ext_check()
474 if (ext_depth(inode) != depth && in __ext4_ext_check()
489 max, le16_to_cpu(eh->eh_depth), depth); in __ext4_ext_check()
493 #define ext4_ext_check(inode, eh, depth, pblk) \ argument
494 __ext4_ext_check(__func__, __LINE__, (inode), (eh), (depth), (pblk))
503 struct inode *inode, ext4_fsblk_t pblk, int depth, in __read_extent_tree_block() argument
525 ext_block_hdr(bh), depth, pblk); in __read_extent_tree_block()
533 if (!(flags & EXT4_EX_NOCACHE) && depth == 0) { in __read_extent_tree_block()
563 #define read_extent_tree_block(inode, pblk, depth, flags) \ argument
565 (depth), (flags))
576 int i = 0, depth, ret = 0; in ext4_ext_precache() local
582 depth = ext_depth(inode); in ext4_ext_precache()
584 path = kcalloc(depth + 1, sizeof(struct ext4_ext_path), in ext4_ext_precache()
592 if (depth == 0) in ext4_ext_precache()
595 ret = ext4_ext_check(inode, path[0].p_hdr, depth, 0); in ext4_ext_precache()
604 if ((i == depth) || in ext4_ext_precache()
613 depth - i - 1, in ext4_ext_precache()
656 int depth = ext_depth(inode); in ext4_ext_show_leaf() local
664 eh = path[depth].p_hdr; in ext4_ext_show_leaf()
680 int depth = ext_depth(inode); in ext4_ext_show_move() local
683 if (depth != level) { in ext4_ext_show_move()
697 ex = path[depth].p_ext; in ext4_ext_show_move()
698 while (ex <= EXT_MAX_EXTENT(path[depth].p_hdr)) { in ext4_ext_show_move()
717 int depth, i; in ext4_ext_drop_refs() local
721 depth = path->p_depth; in ext4_ext_drop_refs()
722 for (i = 0; i <= depth; i++, path++) in ext4_ext_drop_refs()
871 short int depth, i, ppos = 0; in ext4_find_extent() local
875 depth = ext_depth(inode); in ext4_find_extent()
876 if (depth < 0 || depth > EXT4_MAX_EXTENT_DEPTH) { in ext4_find_extent()
878 depth); in ext4_find_extent()
885 if (depth > path[0].p_maxdepth) { in ext4_find_extent()
892 path = kcalloc(depth + 2, sizeof(struct ext4_ext_path), in ext4_find_extent()
896 path[0].p_maxdepth = depth + 1; in ext4_find_extent()
901 i = depth; in ext4_find_extent()
1034 int depth = ext_depth(inode); in ext4_ext_split() local
1049 if (unlikely(path[depth].p_ext > EXT_MAX_EXTENT(path[depth].p_hdr))) { in ext4_ext_split()
1053 if (path[depth].p_ext != EXT_MAX_EXTENT(path[depth].p_hdr)) { in ext4_ext_split()
1054 border = path[depth].p_ext[1].ee_block; in ext4_ext_split()
1077 ablocks = kcalloc(depth, sizeof(ext4_fsblk_t), GFP_NOFS); in ext4_ext_split()
1082 ext_debug("allocate %d blocks for indexes/leaf\n", depth - at); in ext4_ext_split()
1083 for (a = 0; a < depth - at; a++) { in ext4_ext_split()
1116 if (unlikely(path[depth].p_hdr->eh_entries != in ext4_ext_split()
1117 path[depth].p_hdr->eh_max)) { in ext4_ext_split()
1119 path[depth].p_hdr->eh_entries, in ext4_ext_split()
1120 path[depth].p_hdr->eh_max); in ext4_ext_split()
1125 m = EXT_MAX_EXTENT(path[depth].p_hdr) - path[depth].p_ext++; in ext4_ext_split()
1126 ext4_ext_show_move(inode, path, newblock, depth); in ext4_ext_split()
1130 memmove(ex, path[depth].p_ext, sizeof(struct ext4_extent) * m); in ext4_ext_split()
1150 err = ext4_ext_get_access(handle, inode, path + depth); in ext4_ext_split()
1153 le16_add_cpu(&path[depth].p_hdr->eh_entries, -m); in ext4_ext_split()
1154 err = ext4_ext_dirty(handle, inode, path + depth); in ext4_ext_split()
1161 k = depth - at - 1; in ext4_ext_split()
1171 i = depth - 1; in ext4_ext_split()
1190 neh->eh_depth = cpu_to_le16(depth - i); in ext4_ext_split()
1259 for (i = 0; i < depth; i++) { in ext4_ext_split()
1372 int depth, i, err = 0; in ext4_ext_create_new_leaf() local
1375 i = depth = ext_depth(inode); in ext4_ext_create_new_leaf()
1378 curp = path + depth; in ext4_ext_create_new_leaf()
1418 depth = ext_depth(inode); in ext4_ext_create_new_leaf()
1419 if (path[depth].p_hdr->eh_entries == path[depth].p_hdr->eh_max) { in ext4_ext_create_new_leaf()
1442 int depth, ee_len; in ext4_ext_search_left() local
1448 depth = path->p_depth; in ext4_ext_search_left()
1451 if (depth == 0 && path->p_ext == NULL) in ext4_ext_search_left()
1458 ex = path[depth].p_ext; in ext4_ext_search_left()
1461 if (unlikely(EXT_FIRST_EXTENT(path[depth].p_hdr) != ex)) { in ext4_ext_search_left()
1467 while (--depth >= 0) { in ext4_ext_search_left()
1468 ix = path[depth].p_idx; in ext4_ext_search_left()
1469 if (unlikely(ix != EXT_FIRST_INDEX(path[depth].p_hdr))) { in ext4_ext_search_left()
1473 EXT_FIRST_INDEX(path[depth].p_hdr) != NULL ? in ext4_ext_search_left()
1474 le32_to_cpu(EXT_FIRST_INDEX(path[depth].p_hdr)->ei_block) : 0, in ext4_ext_search_left()
1475 depth); in ext4_ext_search_left()
1511 int depth; /* Note, NOT eh_depth; depth from top of tree */ in ext4_ext_search_right() local
1518 depth = path->p_depth; in ext4_ext_search_right()
1521 if (depth == 0 && path->p_ext == NULL) in ext4_ext_search_right()
1528 ex = path[depth].p_ext; in ext4_ext_search_right()
1531 if (unlikely(EXT_FIRST_EXTENT(path[depth].p_hdr) != ex)) { in ext4_ext_search_right()
1534 depth); in ext4_ext_search_right()
1537 while (--depth >= 0) { in ext4_ext_search_right()
1538 ix = path[depth].p_idx; in ext4_ext_search_right()
1539 if (unlikely(ix != EXT_FIRST_INDEX(path[depth].p_hdr))) { in ext4_ext_search_right()
1556 if (ex != EXT_LAST_EXTENT(path[depth].p_hdr)) { in ext4_ext_search_right()
1563 while (--depth >= 0) { in ext4_ext_search_right()
1564 ix = path[depth].p_idx; in ext4_ext_search_right()
1565 if (ix != EXT_LAST_INDEX(path[depth].p_hdr)) in ext4_ext_search_right()
1578 while (++depth < path->p_depth) { in ext4_ext_search_right()
1581 path->p_depth - depth, 0); in ext4_ext_search_right()
1590 bh = read_extent_tree_block(inode, block, path->p_depth - depth, 0); in ext4_ext_search_right()
1614 int depth; in ext4_ext_next_allocated_block() local
1617 depth = path->p_depth; in ext4_ext_next_allocated_block()
1619 if (depth == 0 && path->p_ext == NULL) in ext4_ext_next_allocated_block()
1622 while (depth >= 0) { in ext4_ext_next_allocated_block()
1623 if (depth == path->p_depth) { in ext4_ext_next_allocated_block()
1625 if (path[depth].p_ext && in ext4_ext_next_allocated_block()
1626 path[depth].p_ext != in ext4_ext_next_allocated_block()
1627 EXT_LAST_EXTENT(path[depth].p_hdr)) in ext4_ext_next_allocated_block()
1628 return le32_to_cpu(path[depth].p_ext[1].ee_block); in ext4_ext_next_allocated_block()
1631 if (path[depth].p_idx != in ext4_ext_next_allocated_block()
1632 EXT_LAST_INDEX(path[depth].p_hdr)) in ext4_ext_next_allocated_block()
1633 return le32_to_cpu(path[depth].p_idx[1].ei_block); in ext4_ext_next_allocated_block()
1635 depth--; in ext4_ext_next_allocated_block()
1647 int depth; in ext4_ext_next_leaf_block() local
1650 depth = path->p_depth; in ext4_ext_next_leaf_block()
1653 if (depth == 0) in ext4_ext_next_leaf_block()
1657 depth--; in ext4_ext_next_leaf_block()
1659 while (depth >= 0) { in ext4_ext_next_leaf_block()
1660 if (path[depth].p_idx != in ext4_ext_next_leaf_block()
1661 EXT_LAST_INDEX(path[depth].p_hdr)) in ext4_ext_next_leaf_block()
1663 le32_to_cpu(path[depth].p_idx[1].ei_block); in ext4_ext_next_leaf_block()
1664 depth--; in ext4_ext_next_leaf_block()
1680 int depth = ext_depth(inode); in ext4_ext_correct_indexes() local
1685 eh = path[depth].p_hdr; in ext4_ext_correct_indexes()
1686 ex = path[depth].p_ext; in ext4_ext_correct_indexes()
1694 if (depth == 0) { in ext4_ext_correct_indexes()
1707 k = depth - 1; in ext4_ext_correct_indexes()
1708 border = path[depth].p_ext->ee_block; in ext4_ext_correct_indexes()
1789 unsigned int depth, len; in ext4_ext_try_to_merge_right() local
1792 depth = ext_depth(inode); in ext4_ext_try_to_merge_right()
1793 BUG_ON(path[depth].p_hdr == NULL); in ext4_ext_try_to_merge_right()
1794 eh = path[depth].p_hdr; in ext4_ext_try_to_merge_right()
1875 unsigned int depth; in ext4_ext_try_to_merge() local
1878 depth = ext_depth(inode); in ext4_ext_try_to_merge()
1879 BUG_ON(path[depth].p_hdr == NULL); in ext4_ext_try_to_merge()
1880 eh = path[depth].p_hdr; in ext4_ext_try_to_merge()
1905 unsigned int depth, len1; in ext4_ext_check_overlap() local
1910 depth = ext_depth(inode); in ext4_ext_check_overlap()
1911 if (!path[depth].p_ext) in ext4_ext_check_overlap()
1913 b2 = EXT4_LBLK_CMASK(sbi, le32_to_cpu(path[depth].p_ext->ee_block)); in ext4_ext_check_overlap()
1957 int depth, len, err; in ext4_ext_insert_extent() local
1967 depth = ext_depth(inode); in ext4_ext_insert_extent()
1968 ex = path[depth].p_ext; in ext4_ext_insert_extent()
1969 eh = path[depth].p_hdr; in ext4_ext_insert_extent()
1970 if (unlikely(path[depth].p_hdr == NULL)) { in ext4_ext_insert_extent()
1971 EXT4_ERROR_INODE(inode, "path[%d].p_hdr == NULL", depth); in ext4_ext_insert_extent()
2008 path + depth); in ext4_ext_insert_extent()
2016 eh = path[depth].p_hdr; in ext4_ext_insert_extent()
2034 path + depth); in ext4_ext_insert_extent()
2045 eh = path[depth].p_hdr; in ext4_ext_insert_extent()
2051 depth = ext_depth(inode); in ext4_ext_insert_extent()
2052 eh = path[depth].p_hdr; in ext4_ext_insert_extent()
2068 eh = npath[depth].p_hdr; in ext4_ext_insert_extent()
2089 depth = ext_depth(inode); in ext4_ext_insert_extent()
2090 eh = path[depth].p_hdr; in ext4_ext_insert_extent()
2093 nearex = path[depth].p_ext; in ext4_ext_insert_extent()
2095 err = ext4_ext_get_access(handle, inode, path + depth); in ext4_ext_insert_extent()
2145 path[depth].p_ext = nearex; in ext4_ext_insert_extent()
2178 int exists, depth = 0, err = 0; in ext4_fill_fiemap_extents() local
2195 depth = ext_depth(inode); in ext4_fill_fiemap_extents()
2196 if (unlikely(path[depth].p_hdr == NULL)) { in ext4_fill_fiemap_extents()
2198 EXT4_ERROR_INODE(inode, "path[%d].p_hdr == NULL", depth); in ext4_fill_fiemap_extents()
2202 ex = path[depth].p_ext; in ext4_fill_fiemap_extents()
2381 int depth = ext_depth(inode); in ext4_ext_determine_hole() local
2385 ex = path[depth].p_ext; in ext4_ext_determine_hole()
2435 struct ext4_ext_path *path, int depth) in ext4_ext_rm_idx() argument
2441 depth--; in ext4_ext_rm_idx()
2442 path = path + depth; in ext4_ext_rm_idx()
2468 while (--depth >= 0) { in ext4_ext_rm_idx()
2494 int depth = ext_depth(inode); in ext4_ext_calc_credits_for_single_extent() local
2498 if (le16_to_cpu(path[depth].p_hdr->eh_entries) in ext4_ext_calc_credits_for_single_extent()
2499 < le16_to_cpu(path[depth].p_hdr->eh_max)) { in ext4_ext_calc_credits_for_single_extent()
2530 int depth; in ext4_ext_index_trans_blocks() local
2536 depth = ext_depth(inode); in ext4_ext_index_trans_blocks()
2539 index = depth * 2; in ext4_ext_index_trans_blocks()
2541 index = depth * 3; in ext4_ext_index_trans_blocks()
2730 int depth = ext_depth(inode), credits; in ext4_ext_rm_leaf() local
2742 if (!path[depth].p_hdr) in ext4_ext_rm_leaf()
2743 path[depth].p_hdr = ext_block_hdr(path[depth].p_bh); in ext4_ext_rm_leaf()
2744 eh = path[depth].p_hdr; in ext4_ext_rm_leaf()
2745 if (unlikely(path[depth].p_hdr == NULL)) { in ext4_ext_rm_leaf()
2746 EXT4_ERROR_INODE(inode, "path[%d].p_hdr == NULL", depth); in ext4_ext_rm_leaf()
2750 ex = path[depth].p_ext; in ext4_ext_rm_leaf()
2769 path[depth].p_ext = ex; in ext4_ext_rm_leaf()
2827 err = ext4_ext_get_access(handle, inode, path + depth); in ext4_ext_rm_leaf()
2867 err = ext4_ext_dirty(handle, inode, path + depth); in ext4_ext_rm_leaf()
2906 if (err == 0 && eh->eh_entries == 0 && path[depth].p_bh != NULL) in ext4_ext_rm_leaf()
2907 err = ext4_ext_rm_idx(handle, inode, path, depth); in ext4_ext_rm_leaf()
2938 int depth = ext_depth(inode); in ext4_ext_remove_space() local
2951 handle = ext4_journal_start(inode, EXT4_HT_TRUNCATE, depth + 1); in ext4_ext_remove_space()
2956 trace_ext4_ext_remove_space(inode, start, end, depth); in ext4_ext_remove_space()
2976 depth = ext_depth(inode); in ext4_ext_remove_space()
2978 ex = path[depth].p_ext; in ext4_ext_remove_space()
2980 if (depth) { in ext4_ext_remove_space()
2983 depth); in ext4_ext_remove_space()
3049 depth = ext_depth(inode); in ext4_ext_remove_space()
3051 int k = i = depth; in ext4_ext_remove_space()
3056 path = kcalloc(depth + 1, sizeof(struct ext4_ext_path), in ext4_ext_remove_space()
3062 path[0].p_maxdepth = path[0].p_depth = depth; in ext4_ext_remove_space()
3066 if (ext4_ext_check(inode, path[0].p_hdr, depth, 0)) { in ext4_ext_remove_space()
3074 if (i == depth) { in ext4_ext_remove_space()
3113 ext4_idx_pblock(path[i].p_idx), depth - i - 1, in ext4_ext_remove_space()
3123 if (WARN_ON(i + 1 > depth)) { in ext4_ext_remove_space()
3149 trace_ext4_ext_remove_space_done(inode, start, end, depth, &partial, in ext4_ext_remove_space()
3307 unsigned int ee_len, depth; in ext4_split_extent_at() local
3318 depth = ext_depth(inode); in ext4_split_extent_at()
3319 ex = path[depth].p_ext; in ext4_split_extent_at()
3330 err = ext4_ext_get_access(handle, inode, path + depth); in ext4_split_extent_at()
3362 err = ext4_ext_dirty(handle, inode, path + depth); in ext4_split_extent_at()
3447 unsigned int ee_len, depth; in ext4_split_extent() local
3453 depth = ext_depth(inode); in ext4_split_extent()
3454 ex = path[depth].p_ext; in ext4_split_extent()
3481 depth = ext_depth(inode); in ext4_split_extent()
3482 ex = path[depth].p_ext; in ext4_split_extent()
3542 unsigned int ee_len, depth, map_len = map->m_len; in ext4_ext_convert_to_initialized() local
3557 depth = ext_depth(inode); in ext4_ext_convert_to_initialized()
3558 eh = path[depth].p_hdr; in ext4_ext_convert_to_initialized()
3559 ex = path[depth].p_ext; in ext4_ext_convert_to_initialized()
3613 err = ext4_ext_get_access(handle, inode, path + depth); in ext4_ext_convert_to_initialized()
3659 err = ext4_ext_get_access(handle, inode, path + depth); in ext4_ext_convert_to_initialized()
3681 ext4_ext_dirty(handle, inode, path + depth); in ext4_ext_convert_to_initialized()
3684 path[depth].p_ext = abut_ex; in ext4_ext_convert_to_initialized()
3802 int split_flag = 0, depth; in ext4_split_convert_extents() local
3816 depth = ext_depth(inode); in ext4_split_convert_extents()
3817 ex = path[depth].p_ext; in ext4_split_convert_extents()
3843 int depth; in ext4_convert_unwritten_extents_endio() local
3846 depth = ext_depth(inode); in ext4_convert_unwritten_extents_endio()
3847 ex = path[depth].p_ext; in ext4_convert_unwritten_extents_endio()
3875 depth = ext_depth(inode); in ext4_convert_unwritten_extents_endio()
3876 ex = path[depth].p_ext; in ext4_convert_unwritten_extents_endio()
3879 err = ext4_ext_get_access(handle, inode, path + depth); in ext4_convert_unwritten_extents_endio()
3905 int i, depth; in check_eofblocks_fl() local
3912 depth = ext_depth(inode); in check_eofblocks_fl()
3913 eh = path[depth].p_hdr; in check_eofblocks_fl()
3942 for (i = depth-1; i >= 0; i--) in check_eofblocks_fl()
3960 int depth; in convert_initialized_extent() local
3970 depth = ext_depth(inode); in convert_initialized_extent()
3971 ex = path[depth].p_ext; in convert_initialized_extent()
3987 depth = ext_depth(inode); in convert_initialized_extent()
3988 ex = path[depth].p_ext; in convert_initialized_extent()
3996 err = ext4_ext_get_access(handle, inode, path + depth); in convert_initialized_extent()
4267 int free_on_err = 0, err = 0, depth, ret; in ext4_ext_map_blocks() local
4286 depth = ext_depth(inode); in ext4_ext_map_blocks()
4293 if (unlikely(path[depth].p_ext == NULL && depth != 0)) { in ext4_ext_map_blocks()
4296 (unsigned long) map->m_lblk, depth, in ext4_ext_map_blocks()
4297 path[depth].p_block); in ext4_ext_map_blocks()
4302 ex = path[depth].p_ext; in ext4_ext_map_blocks()
4611 int depth = 0; in ext4_alloc_file_blocks() local
4631 depth = ext_depth(inode); in ext4_alloc_file_blocks()
4638 if (depth != ext_depth(inode)) { in ext4_alloc_file_blocks()
4640 depth = ext_depth(inode); in ext4_alloc_file_blocks()
5232 int depth, err = 0; in ext4_ext_shift_path_extents() local
5235 depth = path->p_depth; in ext4_ext_shift_path_extents()
5237 while (depth >= 0) { in ext4_ext_shift_path_extents()
5238 if (depth == path->p_depth) { in ext4_ext_shift_path_extents()
5239 ex_start = path[depth].p_ext; in ext4_ext_shift_path_extents()
5243 ex_last = EXT_LAST_EXTENT(path[depth].p_hdr); in ext4_ext_shift_path_extents()
5245 err = ext4_access_path(handle, inode, path + depth); in ext4_ext_shift_path_extents()
5249 if (ex_start == EXT_FIRST_EXTENT(path[depth].p_hdr)) in ext4_ext_shift_path_extents()
5258 EXT_FIRST_EXTENT(path[depth].p_hdr)) in ext4_ext_shift_path_extents()
5272 err = ext4_ext_dirty(handle, inode, path + depth); in ext4_ext_shift_path_extents()
5276 if (--depth < 0 || !update) in ext4_ext_shift_path_extents()
5281 err = ext4_access_path(handle, inode, path + depth); in ext4_ext_shift_path_extents()
5286 le32_add_cpu(&path[depth].p_idx->ei_block, -shift); in ext4_ext_shift_path_extents()
5288 le32_add_cpu(&path[depth].p_idx->ei_block, shift); in ext4_ext_shift_path_extents()
5289 err = ext4_ext_dirty(handle, inode, path + depth); in ext4_ext_shift_path_extents()
5294 if (path[depth].p_idx != EXT_FIRST_INDEX(path[depth].p_hdr)) in ext4_ext_shift_path_extents()
5297 depth--; in ext4_ext_shift_path_extents()
5317 int ret = 0, depth; in ext4_ext_shift_extents() local
5327 depth = path->p_depth; in ext4_ext_shift_extents()
5328 extent = path[depth].p_ext; in ext4_ext_shift_extents()
5344 depth = path->p_depth; in ext4_ext_shift_extents()
5345 extent = path[depth].p_ext; in ext4_ext_shift_extents()
5388 depth = path->p_depth; in ext4_ext_shift_extents()
5389 extent = path[depth].p_ext; in ext4_ext_shift_extents()
5398 if (extent < EXT_LAST_EXTENT(path[depth].p_hdr)) { in ext4_ext_shift_extents()
5399 path[depth].p_ext++; in ext4_ext_shift_extents()
5407 extent = EXT_LAST_EXTENT(path[depth].p_hdr); in ext4_ext_shift_extents()
5411 extent = EXT_FIRST_EXTENT(path[depth].p_hdr); in ext4_ext_shift_extents()
5420 path[depth].p_ext = extent; in ext4_ext_shift_extents()
5594 int ret = 0, depth, split_flag = 0; in ext4_insert_range() local
5693 depth = ext_depth(inode); in ext4_insert_range()
5694 extent = path[depth].p_ext; in ext4_insert_range()
5968 int depth, mapped = 0, err = 0; in ext4_clu_mapped() local
5980 depth = ext_depth(inode); in ext4_clu_mapped()
5987 if (unlikely(path[depth].p_ext == NULL && depth != 0)) { in ext4_clu_mapped()
5991 depth, path[depth].p_block); in ext4_clu_mapped()
5996 extent = path[depth].p_ext; in ext4_clu_mapped()