Lines Matching refs:depth
196 int depth = path->p_depth; in ext4_ext_find_goal() local
216 ex = path[depth].p_ext; in ext4_ext_find_goal()
229 if (path[depth].p_bh) in ext4_ext_find_goal()
230 return path[depth].p_bh->b_blocknr; in ext4_ext_find_goal()
325 ext4_ext_max_entries(struct inode *inode, int depth) in ext4_ext_max_entries() argument
329 if (depth == ext_depth(inode)) { in ext4_ext_max_entries()
330 if (depth == 0) in ext4_ext_max_entries()
335 if (depth == 0) in ext4_ext_max_entries()
371 int depth) in ext4_valid_extent_entries() argument
382 if (depth == 0) { in ext4_valid_extent_entries()
390 if (depth != ext_depth(inode) && in ext4_valid_extent_entries()
414 if (depth != ext_depth(inode) && in ext4_valid_extent_entries()
437 int depth, ext4_fsblk_t pblk, ext4_lblk_t lblk) in __ext4_ext_check() argument
446 if (unlikely(le16_to_cpu(eh->eh_depth) != depth)) { in __ext4_ext_check()
454 max = ext4_ext_max_entries(inode, depth); in __ext4_ext_check()
463 if (!ext4_valid_extent_entries(inode, eh, lblk, &pblk, depth)) { in __ext4_ext_check()
467 if (unlikely(depth > 32)) { in __ext4_ext_check()
472 if (ext_depth(inode) != depth && in __ext4_ext_check()
488 max, le16_to_cpu(eh->eh_depth), depth); in __ext4_ext_check()
492 #define ext4_ext_check(inode, eh, depth, pblk) \ argument
493 __ext4_ext_check(__func__, __LINE__, (inode), (eh), (depth), (pblk), 0)
527 int depth, int flags) in __read_extent_tree_block() argument
551 depth, pblk, le32_to_cpu(idx->ei_block)); in __read_extent_tree_block()
558 if (!(flags & EXT4_EX_NOCACHE) && depth == 0) { in __read_extent_tree_block()
569 #define read_extent_tree_block(inode, idx, depth, flags) \ argument
571 (depth), (flags))
582 int i = 0, depth, ret = 0; in ext4_ext_precache() local
588 depth = ext_depth(inode); in ext4_ext_precache()
591 if (!depth) { in ext4_ext_precache()
596 path = kcalloc(depth + 1, sizeof(struct ext4_ext_path), in ext4_ext_precache()
604 ret = ext4_ext_check(inode, path[0].p_hdr, depth, 0); in ext4_ext_precache()
613 if ((i == depth) || in ext4_ext_precache()
621 depth - i - 1, in ext4_ext_precache()
665 int depth = ext_depth(inode); in ext4_ext_show_leaf() local
673 eh = path[depth].p_hdr; in ext4_ext_show_leaf()
689 int depth = ext_depth(inode); in ext4_ext_show_move() local
692 if (depth != level) { in ext4_ext_show_move()
705 ex = path[depth].p_ext; in ext4_ext_show_move()
706 while (ex <= EXT_MAX_EXTENT(path[depth].p_hdr)) { in ext4_ext_show_move()
725 int depth, i; in ext4_ext_drop_refs() local
729 depth = path->p_depth; in ext4_ext_drop_refs()
730 for (i = 0; i <= depth; i++, path++) { in ext4_ext_drop_refs()
880 short int depth, i, ppos = 0; in ext4_find_extent() local
888 depth = ext_depth(inode); in ext4_find_extent()
889 if (depth < 0 || depth > EXT4_MAX_EXTENT_DEPTH) { in ext4_find_extent()
891 depth); in ext4_find_extent()
898 if (depth > path[0].p_maxdepth) { in ext4_find_extent()
905 path = kcalloc(depth + 2, sizeof(struct ext4_ext_path), in ext4_find_extent()
909 path[0].p_maxdepth = depth + 1; in ext4_find_extent()
914 i = depth; in ext4_find_extent()
915 if (!(flags & EXT4_EX_NOCACHE) && depth == 0) in ext4_find_extent()
1050 int depth = ext_depth(inode); in ext4_ext_split() local
1069 if (unlikely(path[depth].p_ext > EXT_MAX_EXTENT(path[depth].p_hdr))) { in ext4_ext_split()
1073 if (path[depth].p_ext != EXT_MAX_EXTENT(path[depth].p_hdr)) { in ext4_ext_split()
1074 border = path[depth].p_ext[1].ee_block; in ext4_ext_split()
1097 ablocks = kcalloc(depth, sizeof(ext4_fsblk_t), gfp_flags); in ext4_ext_split()
1102 ext_debug(inode, "allocate %d blocks for indexes/leaf\n", depth - at); in ext4_ext_split()
1103 for (a = 0; a < depth - at; a++) { in ext4_ext_split()
1138 if (unlikely(path[depth].p_hdr->eh_entries != in ext4_ext_split()
1139 path[depth].p_hdr->eh_max)) { in ext4_ext_split()
1141 path[depth].p_hdr->eh_entries, in ext4_ext_split()
1142 path[depth].p_hdr->eh_max); in ext4_ext_split()
1147 m = EXT_MAX_EXTENT(path[depth].p_hdr) - path[depth].p_ext++; in ext4_ext_split()
1148 ext4_ext_show_move(inode, path, newblock, depth); in ext4_ext_split()
1152 memmove(ex, path[depth].p_ext, sizeof(struct ext4_extent) * m); in ext4_ext_split()
1172 err = ext4_ext_get_access(handle, inode, path + depth); in ext4_ext_split()
1175 le16_add_cpu(&path[depth].p_hdr->eh_entries, -m); in ext4_ext_split()
1176 err = ext4_ext_dirty(handle, inode, path + depth); in ext4_ext_split()
1183 k = depth - at - 1; in ext4_ext_split()
1193 i = depth - 1; in ext4_ext_split()
1213 neh->eh_depth = cpu_to_le16(depth - i); in ext4_ext_split()
1283 for (i = 0; i < depth; i++) { in ext4_ext_split()
1398 int depth, i, err = 0; in ext4_ext_create_new_leaf() local
1401 i = depth = ext_depth(inode); in ext4_ext_create_new_leaf()
1404 curp = path + depth; in ext4_ext_create_new_leaf()
1444 depth = ext_depth(inode); in ext4_ext_create_new_leaf()
1445 if (path[depth].p_hdr->eh_entries == path[depth].p_hdr->eh_max) { in ext4_ext_create_new_leaf()
1468 int depth, ee_len; in ext4_ext_search_left() local
1474 depth = path->p_depth; in ext4_ext_search_left()
1477 if (depth == 0 && path->p_ext == NULL) in ext4_ext_search_left()
1484 ex = path[depth].p_ext; in ext4_ext_search_left()
1487 if (unlikely(EXT_FIRST_EXTENT(path[depth].p_hdr) != ex)) { in ext4_ext_search_left()
1493 while (--depth >= 0) { in ext4_ext_search_left()
1494 ix = path[depth].p_idx; in ext4_ext_search_left()
1495 if (unlikely(ix != EXT_FIRST_INDEX(path[depth].p_hdr))) { in ext4_ext_search_left()
1499 EXT_FIRST_INDEX(path[depth].p_hdr) != NULL ? in ext4_ext_search_left()
1500 le32_to_cpu(EXT_FIRST_INDEX(path[depth].p_hdr)->ei_block) : 0, in ext4_ext_search_left()
1501 depth); in ext4_ext_search_left()
1536 int depth; /* Note, NOT eh_depth; depth from top of tree */ in ext4_ext_search_right() local
1543 depth = path->p_depth; in ext4_ext_search_right()
1546 if (depth == 0 && path->p_ext == NULL) in ext4_ext_search_right()
1553 ex = path[depth].p_ext; in ext4_ext_search_right()
1556 if (unlikely(EXT_FIRST_EXTENT(path[depth].p_hdr) != ex)) { in ext4_ext_search_right()
1559 depth); in ext4_ext_search_right()
1562 while (--depth >= 0) { in ext4_ext_search_right()
1563 ix = path[depth].p_idx; in ext4_ext_search_right()
1564 if (unlikely(ix != EXT_FIRST_INDEX(path[depth].p_hdr))) { in ext4_ext_search_right()
1581 if (ex != EXT_LAST_EXTENT(path[depth].p_hdr)) { in ext4_ext_search_right()
1588 while (--depth >= 0) { in ext4_ext_search_right()
1589 ix = path[depth].p_idx; in ext4_ext_search_right()
1590 if (ix != EXT_LAST_INDEX(path[depth].p_hdr)) in ext4_ext_search_right()
1602 while (++depth < path->p_depth) { in ext4_ext_search_right()
1604 bh = read_extent_tree_block(inode, ix, path->p_depth - depth, 0); in ext4_ext_search_right()
1612 bh = read_extent_tree_block(inode, ix, path->p_depth - depth, 0); in ext4_ext_search_right()
1637 int depth; in ext4_ext_next_allocated_block() local
1640 depth = path->p_depth; in ext4_ext_next_allocated_block()
1642 if (depth == 0 && path->p_ext == NULL) in ext4_ext_next_allocated_block()
1645 while (depth >= 0) { in ext4_ext_next_allocated_block()
1646 struct ext4_ext_path *p = &path[depth]; in ext4_ext_next_allocated_block()
1648 if (depth == path->p_depth) { in ext4_ext_next_allocated_block()
1657 depth--; in ext4_ext_next_allocated_block()
1669 int depth; in ext4_ext_next_leaf_block() local
1672 depth = path->p_depth; in ext4_ext_next_leaf_block()
1675 if (depth == 0) in ext4_ext_next_leaf_block()
1679 depth--; in ext4_ext_next_leaf_block()
1681 while (depth >= 0) { in ext4_ext_next_leaf_block()
1682 if (path[depth].p_idx != in ext4_ext_next_leaf_block()
1683 EXT_LAST_INDEX(path[depth].p_hdr)) in ext4_ext_next_leaf_block()
1685 le32_to_cpu(path[depth].p_idx[1].ei_block); in ext4_ext_next_leaf_block()
1686 depth--; in ext4_ext_next_leaf_block()
1702 int depth = ext_depth(inode); in ext4_ext_correct_indexes() local
1707 eh = path[depth].p_hdr; in ext4_ext_correct_indexes()
1708 ex = path[depth].p_ext; in ext4_ext_correct_indexes()
1716 if (depth == 0) { in ext4_ext_correct_indexes()
1729 k = depth - 1; in ext4_ext_correct_indexes()
1730 border = path[depth].p_ext->ee_block; in ext4_ext_correct_indexes()
1799 unsigned int depth, len; in ext4_ext_try_to_merge_right() local
1802 depth = ext_depth(inode); in ext4_ext_try_to_merge_right()
1803 BUG_ON(path[depth].p_hdr == NULL); in ext4_ext_try_to_merge_right()
1804 eh = path[depth].p_hdr; in ext4_ext_try_to_merge_right()
1887 unsigned int depth; in ext4_ext_try_to_merge() local
1890 depth = ext_depth(inode); in ext4_ext_try_to_merge()
1891 BUG_ON(path[depth].p_hdr == NULL); in ext4_ext_try_to_merge()
1892 eh = path[depth].p_hdr; in ext4_ext_try_to_merge()
1917 unsigned int depth, len1; in ext4_ext_check_overlap() local
1922 depth = ext_depth(inode); in ext4_ext_check_overlap()
1923 if (!path[depth].p_ext) in ext4_ext_check_overlap()
1925 b2 = EXT4_LBLK_CMASK(sbi, le32_to_cpu(path[depth].p_ext->ee_block)); in ext4_ext_check_overlap()
1969 int depth, len, err; in ext4_ext_insert_extent() local
1979 depth = ext_depth(inode); in ext4_ext_insert_extent()
1980 ex = path[depth].p_ext; in ext4_ext_insert_extent()
1981 eh = path[depth].p_hdr; in ext4_ext_insert_extent()
1982 if (unlikely(path[depth].p_hdr == NULL)) { in ext4_ext_insert_extent()
1983 EXT4_ERROR_INODE(inode, "path[%d].p_hdr == NULL", depth); in ext4_ext_insert_extent()
2020 path + depth); in ext4_ext_insert_extent()
2028 eh = path[depth].p_hdr; in ext4_ext_insert_extent()
2046 path + depth); in ext4_ext_insert_extent()
2057 eh = path[depth].p_hdr; in ext4_ext_insert_extent()
2063 depth = ext_depth(inode); in ext4_ext_insert_extent()
2064 eh = path[depth].p_hdr; in ext4_ext_insert_extent()
2080 eh = npath[depth].p_hdr; in ext4_ext_insert_extent()
2101 depth = ext_depth(inode); in ext4_ext_insert_extent()
2102 eh = path[depth].p_hdr; in ext4_ext_insert_extent()
2105 nearex = path[depth].p_ext; in ext4_ext_insert_extent()
2107 err = ext4_ext_get_access(handle, inode, path + depth); in ext4_ext_insert_extent()
2157 path[depth].p_ext = nearex; in ext4_ext_insert_extent()
2244 int depth = ext_depth(inode); in ext4_ext_determine_hole() local
2248 ex = path[depth].p_ext; in ext4_ext_determine_hole()
2298 struct ext4_ext_path *path, int depth) in ext4_ext_rm_idx() argument
2304 depth--; in ext4_ext_rm_idx()
2305 path = path + depth; in ext4_ext_rm_idx()
2331 while (--depth >= 0) { in ext4_ext_rm_idx()
2357 int depth = ext_depth(inode); in ext4_ext_calc_credits_for_single_extent() local
2361 if (le16_to_cpu(path[depth].p_hdr->eh_entries) in ext4_ext_calc_credits_for_single_extent()
2362 < le16_to_cpu(path[depth].p_hdr->eh_max)) { in ext4_ext_calc_credits_for_single_extent()
2393 int depth; in ext4_ext_index_trans_blocks() local
2399 depth = ext_depth(inode); in ext4_ext_index_trans_blocks()
2402 index = depth * 2; in ext4_ext_index_trans_blocks()
2404 index = depth * 3; in ext4_ext_index_trans_blocks()
2593 int depth = ext_depth(inode), credits, revoke_credits; in ext4_ext_rm_leaf() local
2605 if (!path[depth].p_hdr) in ext4_ext_rm_leaf()
2606 path[depth].p_hdr = ext_block_hdr(path[depth].p_bh); in ext4_ext_rm_leaf()
2607 eh = path[depth].p_hdr; in ext4_ext_rm_leaf()
2608 if (unlikely(path[depth].p_hdr == NULL)) { in ext4_ext_rm_leaf()
2609 EXT4_ERROR_INODE(inode, "path[%d].p_hdr == NULL", depth); in ext4_ext_rm_leaf()
2613 ex = path[depth].p_ext; in ext4_ext_rm_leaf()
2632 path[depth].p_ext = ex; in ext4_ext_rm_leaf()
2703 err = ext4_ext_get_access(handle, inode, path + depth); in ext4_ext_rm_leaf()
2743 err = ext4_ext_dirty(handle, inode, path + depth); in ext4_ext_rm_leaf()
2782 if (err == 0 && eh->eh_entries == 0 && path[depth].p_bh != NULL) in ext4_ext_rm_leaf()
2783 err = ext4_ext_rm_idx(handle, inode, path, depth); in ext4_ext_rm_leaf()
2814 int depth = ext_depth(inode); in ext4_ext_remove_space() local
2828 depth + 1, in ext4_ext_remove_space()
2829 ext4_free_metadata_revoke_credits(inode->i_sb, depth)); in ext4_ext_remove_space()
2834 trace_ext4_ext_remove_space(inode, start, end, depth); in ext4_ext_remove_space()
2855 depth = ext_depth(inode); in ext4_ext_remove_space()
2857 ex = path[depth].p_ext; in ext4_ext_remove_space()
2859 if (depth) { in ext4_ext_remove_space()
2862 depth); in ext4_ext_remove_space()
2928 depth = ext_depth(inode); in ext4_ext_remove_space()
2930 int k = i = depth; in ext4_ext_remove_space()
2935 path = kcalloc(depth + 1, sizeof(struct ext4_ext_path), in ext4_ext_remove_space()
2941 path[0].p_maxdepth = path[0].p_depth = depth; in ext4_ext_remove_space()
2945 if (ext4_ext_check(inode, path[0].p_hdr, depth, 0)) { in ext4_ext_remove_space()
2953 if (i == depth) { in ext4_ext_remove_space()
2992 depth - i - 1, in ext4_ext_remove_space()
3002 if (WARN_ON(i + 1 > depth)) { in ext4_ext_remove_space()
3028 trace_ext4_ext_remove_space_done(inode, start, end, depth, &partial, in ext4_ext_remove_space()
3186 unsigned int ee_len, depth; in ext4_split_extent_at() local
3196 depth = ext_depth(inode); in ext4_split_extent_at()
3197 ex = path[depth].p_ext; in ext4_split_extent_at()
3208 err = ext4_ext_get_access(handle, inode, path + depth); in ext4_split_extent_at()
3240 err = ext4_ext_dirty(handle, inode, path + depth); in ext4_split_extent_at()
3332 unsigned int ee_len, depth; in ext4_split_extent() local
3338 depth = ext_depth(inode); in ext4_split_extent()
3339 ex = path[depth].p_ext; in ext4_split_extent()
3366 depth = ext_depth(inode); in ext4_split_extent()
3367 ex = path[depth].p_ext; in ext4_split_extent()
3427 unsigned int ee_len, depth, map_len = map->m_len; in ext4_ext_convert_to_initialized() local
3441 depth = ext_depth(inode); in ext4_ext_convert_to_initialized()
3442 eh = path[depth].p_hdr; in ext4_ext_convert_to_initialized()
3443 ex = path[depth].p_ext; in ext4_ext_convert_to_initialized()
3497 err = ext4_ext_get_access(handle, inode, path + depth); in ext4_ext_convert_to_initialized()
3543 err = ext4_ext_get_access(handle, inode, path + depth); in ext4_ext_convert_to_initialized()
3565 err = ext4_ext_dirty(handle, inode, path + depth); in ext4_ext_convert_to_initialized()
3568 path[depth].p_ext = abut_ex; in ext4_ext_convert_to_initialized()
3684 int split_flag = 0, depth; in ext4_split_convert_extents() local
3697 depth = ext_depth(inode); in ext4_split_convert_extents()
3698 ex = path[depth].p_ext; in ext4_split_convert_extents()
3724 int depth; in ext4_convert_unwritten_extents_endio() local
3727 depth = ext_depth(inode); in ext4_convert_unwritten_extents_endio()
3728 ex = path[depth].p_ext; in ext4_convert_unwritten_extents_endio()
3755 depth = ext_depth(inode); in ext4_convert_unwritten_extents_endio()
3756 ex = path[depth].p_ext; in ext4_convert_unwritten_extents_endio()
3759 err = ext4_ext_get_access(handle, inode, path + depth); in ext4_convert_unwritten_extents_endio()
3787 int depth; in convert_initialized_extent() local
3797 depth = ext_depth(inode); in convert_initialized_extent()
3798 ex = path[depth].p_ext; in convert_initialized_extent()
3813 depth = ext_depth(inode); in convert_initialized_extent()
3814 ex = path[depth].p_ext; in convert_initialized_extent()
3822 err = ext4_ext_get_access(handle, inode, path + depth); in convert_initialized_extent()
4091 int err = 0, depth, ret; in ext4_ext_map_blocks() local
4108 depth = ext_depth(inode); in ext4_ext_map_blocks()
4115 if (unlikely(path[depth].p_ext == NULL && depth != 0)) { in ext4_ext_map_blocks()
4118 (unsigned long) map->m_lblk, depth, in ext4_ext_map_blocks()
4119 path[depth].p_block); in ext4_ext_map_blocks()
4124 ex = path[depth].p_ext; in ext4_ext_map_blocks()
4434 int depth = 0; in ext4_alloc_file_blocks() local
4454 depth = ext_depth(inode); in ext4_alloc_file_blocks()
4461 if (depth != ext_depth(inode)) { in ext4_alloc_file_blocks()
4463 depth = ext_depth(inode); in ext4_alloc_file_blocks()
5026 int depth, err = 0; in ext4_ext_shift_path_extents() local
5030 depth = path->p_depth; in ext4_ext_shift_path_extents()
5032 while (depth >= 0) { in ext4_ext_shift_path_extents()
5033 if (depth == path->p_depth) { in ext4_ext_shift_path_extents()
5034 ex_start = path[depth].p_ext; in ext4_ext_shift_path_extents()
5038 ex_last = EXT_LAST_EXTENT(path[depth].p_hdr); in ext4_ext_shift_path_extents()
5041 if (ex_start == EXT_FIRST_EXTENT(path[depth].p_hdr)) { in ext4_ext_shift_path_extents()
5044 credits = depth + 2; in ext4_ext_shift_path_extents()
5056 err = ext4_ext_get_access(handle, inode, path + depth); in ext4_ext_shift_path_extents()
5066 EXT_FIRST_EXTENT(path[depth].p_hdr)) in ext4_ext_shift_path_extents()
5080 err = ext4_ext_dirty(handle, inode, path + depth); in ext4_ext_shift_path_extents()
5084 if (--depth < 0 || !update) in ext4_ext_shift_path_extents()
5089 err = ext4_ext_get_access(handle, inode, path + depth); in ext4_ext_shift_path_extents()
5094 le32_add_cpu(&path[depth].p_idx->ei_block, -shift); in ext4_ext_shift_path_extents()
5096 le32_add_cpu(&path[depth].p_idx->ei_block, shift); in ext4_ext_shift_path_extents()
5097 err = ext4_ext_dirty(handle, inode, path + depth); in ext4_ext_shift_path_extents()
5102 if (path[depth].p_idx != EXT_FIRST_INDEX(path[depth].p_hdr)) in ext4_ext_shift_path_extents()
5105 depth--; in ext4_ext_shift_path_extents()
5125 int ret = 0, depth; in ext4_ext_shift_extents() local
5136 depth = path->p_depth; in ext4_ext_shift_extents()
5137 extent = path[depth].p_ext; in ext4_ext_shift_extents()
5153 depth = path->p_depth; in ext4_ext_shift_extents()
5154 extent = path[depth].p_ext; in ext4_ext_shift_extents()
5201 depth = path->p_depth; in ext4_ext_shift_extents()
5202 extent = path[depth].p_ext; in ext4_ext_shift_extents()
5211 if (extent < EXT_LAST_EXTENT(path[depth].p_hdr)) { in ext4_ext_shift_extents()
5212 path[depth].p_ext++; in ext4_ext_shift_extents()
5221 extent = EXT_LAST_EXTENT(path[depth].p_hdr); in ext4_ext_shift_extents()
5225 extent = EXT_FIRST_EXTENT(path[depth].p_hdr); in ext4_ext_shift_extents()
5234 path[depth].p_ext = extent; in ext4_ext_shift_extents()
5411 int ret = 0, depth, split_flag = 0; in ext4_insert_range() local
5507 depth = ext_depth(inode); in ext4_insert_range()
5508 extent = path[depth].p_ext; in ext4_insert_range()
5783 int depth, mapped = 0, err = 0; in ext4_clu_mapped() local
5795 depth = ext_depth(inode); in ext4_clu_mapped()
5802 if (unlikely(path[depth].p_ext == NULL && depth != 0)) { in ext4_clu_mapped()
5806 depth, path[depth].p_block); in ext4_clu_mapped()
5811 extent = path[depth].p_ext; in ext4_clu_mapped()