Lines Matching refs:depth
182 int depth = path->p_depth; in ext4_ext_find_goal() local
202 ex = path[depth].p_ext; in ext4_ext_find_goal()
215 if (path[depth].p_bh) in ext4_ext_find_goal()
216 return path[depth].p_bh->b_blocknr; in ext4_ext_find_goal()
355 ext4_ext_max_entries(struct inode *inode, int depth) in ext4_ext_max_entries() argument
359 if (depth == ext_depth(inode)) { in ext4_ext_max_entries()
360 if (depth == 0) in ext4_ext_max_entries()
365 if (depth == 0) in ext4_ext_max_entries()
396 int depth) in ext4_valid_extent_entries() argument
404 if (depth == 0) { in ext4_valid_extent_entries()
442 int depth, ext4_fsblk_t pblk) in __ext4_ext_check() argument
451 if (unlikely(le16_to_cpu(eh->eh_depth) != depth)) { in __ext4_ext_check()
459 max = ext4_ext_max_entries(inode, depth); in __ext4_ext_check()
468 if (!ext4_valid_extent_entries(inode, eh, depth)) { in __ext4_ext_check()
473 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))
502 struct inode *inode, ext4_fsblk_t pblk, int depth, in __read_extent_tree_block() argument
521 ext_block_hdr(bh), depth, pblk); in __read_extent_tree_block()
528 if (!(flags & EXT4_EX_NOCACHE) && depth == 0) { in __read_extent_tree_block()
558 #define read_extent_tree_block(inode, pblk, depth, flags) \ argument
560 (depth), (flags))
571 int i = 0, depth, ret = 0; in ext4_ext_precache() local
577 depth = ext_depth(inode); in ext4_ext_precache()
579 path = kzalloc(sizeof(struct ext4_ext_path) * (depth + 1), in ext4_ext_precache()
587 if (depth == 0) in ext4_ext_precache()
590 ret = ext4_ext_check(inode, path[0].p_hdr, depth, 0); in ext4_ext_precache()
599 if ((i == depth) || in ext4_ext_precache()
608 depth - i - 1, in ext4_ext_precache()
651 int depth = ext_depth(inode); in ext4_ext_show_leaf() local
659 eh = path[depth].p_hdr; in ext4_ext_show_leaf()
675 int depth = ext_depth(inode); in ext4_ext_show_move() local
678 if (depth != level) { in ext4_ext_show_move()
692 ex = path[depth].p_ext; in ext4_ext_show_move()
693 while (ex <= EXT_MAX_EXTENT(path[depth].p_hdr)) { in ext4_ext_show_move()
712 int depth, i; in ext4_ext_drop_refs() local
716 depth = path->p_depth; in ext4_ext_drop_refs()
717 for (i = 0; i <= depth; i++, path++) in ext4_ext_drop_refs()
866 short int depth, i, ppos = 0; in ext4_find_extent() local
870 depth = ext_depth(inode); in ext4_find_extent()
874 if (depth > path[0].p_maxdepth) { in ext4_find_extent()
881 path = kzalloc(sizeof(struct ext4_ext_path) * (depth + 2), in ext4_find_extent()
885 path[0].p_maxdepth = depth + 1; in ext4_find_extent()
890 i = depth; in ext4_find_extent()
910 if (unlikely(ppos > depth)) { in ext4_find_extent()
913 "ppos %d > depth %d", ppos, depth); in ext4_find_extent()
1030 int depth = ext_depth(inode); in ext4_ext_split() local
1044 if (unlikely(path[depth].p_ext > EXT_MAX_EXTENT(path[depth].p_hdr))) { in ext4_ext_split()
1048 if (path[depth].p_ext != EXT_MAX_EXTENT(path[depth].p_hdr)) { in ext4_ext_split()
1049 border = path[depth].p_ext[1].ee_block; in ext4_ext_split()
1072 ablocks = kzalloc(sizeof(ext4_fsblk_t) * depth, GFP_NOFS); in ext4_ext_split()
1077 ext_debug("allocate %d blocks for indexes/leaf\n", depth - at); in ext4_ext_split()
1078 for (a = 0; a < depth - at; a++) { in ext4_ext_split()
1111 if (unlikely(path[depth].p_hdr->eh_entries != in ext4_ext_split()
1112 path[depth].p_hdr->eh_max)) { in ext4_ext_split()
1114 path[depth].p_hdr->eh_entries, in ext4_ext_split()
1115 path[depth].p_hdr->eh_max); in ext4_ext_split()
1120 m = EXT_MAX_EXTENT(path[depth].p_hdr) - path[depth].p_ext++; in ext4_ext_split()
1121 ext4_ext_show_move(inode, path, newblock, depth); in ext4_ext_split()
1125 memmove(ex, path[depth].p_ext, sizeof(struct ext4_extent) * m); in ext4_ext_split()
1141 err = ext4_ext_get_access(handle, inode, path + depth); in ext4_ext_split()
1144 le16_add_cpu(&path[depth].p_hdr->eh_entries, -m); in ext4_ext_split()
1145 err = ext4_ext_dirty(handle, inode, path + depth); in ext4_ext_split()
1152 k = depth - at - 1; in ext4_ext_split()
1162 i = depth - 1; in ext4_ext_split()
1181 neh->eh_depth = cpu_to_le16(depth - i); in ext4_ext_split()
1245 for (i = 0; i < depth; i++) { in ext4_ext_split()
1355 int depth, i, err = 0; in ext4_ext_create_new_leaf() local
1358 i = depth = ext_depth(inode); in ext4_ext_create_new_leaf()
1361 curp = path + depth; in ext4_ext_create_new_leaf()
1401 depth = ext_depth(inode); in ext4_ext_create_new_leaf()
1402 if (path[depth].p_hdr->eh_entries == path[depth].p_hdr->eh_max) { in ext4_ext_create_new_leaf()
1425 int depth, ee_len; in ext4_ext_search_left() local
1431 depth = path->p_depth; in ext4_ext_search_left()
1434 if (depth == 0 && path->p_ext == NULL) in ext4_ext_search_left()
1441 ex = path[depth].p_ext; in ext4_ext_search_left()
1444 if (unlikely(EXT_FIRST_EXTENT(path[depth].p_hdr) != ex)) { in ext4_ext_search_left()
1450 while (--depth >= 0) { in ext4_ext_search_left()
1451 ix = path[depth].p_idx; in ext4_ext_search_left()
1452 if (unlikely(ix != EXT_FIRST_INDEX(path[depth].p_hdr))) { in ext4_ext_search_left()
1456 EXT_FIRST_INDEX(path[depth].p_hdr) != NULL ? in ext4_ext_search_left()
1457 le32_to_cpu(EXT_FIRST_INDEX(path[depth].p_hdr)->ei_block) : 0, in ext4_ext_search_left()
1458 depth); in ext4_ext_search_left()
1494 int depth; /* Note, NOT eh_depth; depth from top of tree */ in ext4_ext_search_right() local
1501 depth = path->p_depth; in ext4_ext_search_right()
1504 if (depth == 0 && path->p_ext == NULL) in ext4_ext_search_right()
1511 ex = path[depth].p_ext; in ext4_ext_search_right()
1514 if (unlikely(EXT_FIRST_EXTENT(path[depth].p_hdr) != ex)) { in ext4_ext_search_right()
1517 depth); in ext4_ext_search_right()
1520 while (--depth >= 0) { in ext4_ext_search_right()
1521 ix = path[depth].p_idx; in ext4_ext_search_right()
1522 if (unlikely(ix != EXT_FIRST_INDEX(path[depth].p_hdr))) { in ext4_ext_search_right()
1539 if (ex != EXT_LAST_EXTENT(path[depth].p_hdr)) { in ext4_ext_search_right()
1546 while (--depth >= 0) { in ext4_ext_search_right()
1547 ix = path[depth].p_idx; in ext4_ext_search_right()
1548 if (ix != EXT_LAST_INDEX(path[depth].p_hdr)) in ext4_ext_search_right()
1561 while (++depth < path->p_depth) { in ext4_ext_search_right()
1564 path->p_depth - depth, 0); in ext4_ext_search_right()
1573 bh = read_extent_tree_block(inode, block, path->p_depth - depth, 0); in ext4_ext_search_right()
1597 int depth; in ext4_ext_next_allocated_block() local
1600 depth = path->p_depth; in ext4_ext_next_allocated_block()
1602 if (depth == 0 && path->p_ext == NULL) in ext4_ext_next_allocated_block()
1605 while (depth >= 0) { in ext4_ext_next_allocated_block()
1606 if (depth == path->p_depth) { in ext4_ext_next_allocated_block()
1608 if (path[depth].p_ext && in ext4_ext_next_allocated_block()
1609 path[depth].p_ext != in ext4_ext_next_allocated_block()
1610 EXT_LAST_EXTENT(path[depth].p_hdr)) in ext4_ext_next_allocated_block()
1611 return le32_to_cpu(path[depth].p_ext[1].ee_block); in ext4_ext_next_allocated_block()
1614 if (path[depth].p_idx != in ext4_ext_next_allocated_block()
1615 EXT_LAST_INDEX(path[depth].p_hdr)) in ext4_ext_next_allocated_block()
1616 return le32_to_cpu(path[depth].p_idx[1].ei_block); in ext4_ext_next_allocated_block()
1618 depth--; in ext4_ext_next_allocated_block()
1630 int depth; in ext4_ext_next_leaf_block() local
1633 depth = path->p_depth; in ext4_ext_next_leaf_block()
1636 if (depth == 0) in ext4_ext_next_leaf_block()
1640 depth--; in ext4_ext_next_leaf_block()
1642 while (depth >= 0) { in ext4_ext_next_leaf_block()
1643 if (path[depth].p_idx != in ext4_ext_next_leaf_block()
1644 EXT_LAST_INDEX(path[depth].p_hdr)) in ext4_ext_next_leaf_block()
1646 le32_to_cpu(path[depth].p_idx[1].ei_block); in ext4_ext_next_leaf_block()
1647 depth--; in ext4_ext_next_leaf_block()
1663 int depth = ext_depth(inode); in ext4_ext_correct_indexes() local
1668 eh = path[depth].p_hdr; in ext4_ext_correct_indexes()
1669 ex = path[depth].p_ext; in ext4_ext_correct_indexes()
1677 if (depth == 0) { in ext4_ext_correct_indexes()
1690 k = depth - 1; in ext4_ext_correct_indexes()
1691 border = path[depth].p_ext->ee_block; in ext4_ext_correct_indexes()
1766 unsigned int depth, len; in ext4_ext_try_to_merge_right() local
1769 depth = ext_depth(inode); in ext4_ext_try_to_merge_right()
1770 BUG_ON(path[depth].p_hdr == NULL); in ext4_ext_try_to_merge_right()
1771 eh = path[depth].p_hdr; in ext4_ext_try_to_merge_right()
1852 unsigned int depth; in ext4_ext_try_to_merge() local
1855 depth = ext_depth(inode); in ext4_ext_try_to_merge()
1856 BUG_ON(path[depth].p_hdr == NULL); in ext4_ext_try_to_merge()
1857 eh = path[depth].p_hdr; in ext4_ext_try_to_merge()
1882 unsigned int depth, len1; in ext4_ext_check_overlap() local
1887 depth = ext_depth(inode); in ext4_ext_check_overlap()
1888 if (!path[depth].p_ext) in ext4_ext_check_overlap()
1890 b2 = EXT4_LBLK_CMASK(sbi, le32_to_cpu(path[depth].p_ext->ee_block)); in ext4_ext_check_overlap()
1934 int depth, len, err; in ext4_ext_insert_extent() local
1944 depth = ext_depth(inode); in ext4_ext_insert_extent()
1945 ex = path[depth].p_ext; in ext4_ext_insert_extent()
1946 eh = path[depth].p_hdr; in ext4_ext_insert_extent()
1947 if (unlikely(path[depth].p_hdr == NULL)) { in ext4_ext_insert_extent()
1948 EXT4_ERROR_INODE(inode, "path[%d].p_hdr == NULL", depth); in ext4_ext_insert_extent()
1985 path + depth); in ext4_ext_insert_extent()
1993 eh = path[depth].p_hdr; in ext4_ext_insert_extent()
2011 path + depth); in ext4_ext_insert_extent()
2022 eh = path[depth].p_hdr; in ext4_ext_insert_extent()
2028 depth = ext_depth(inode); in ext4_ext_insert_extent()
2029 eh = path[depth].p_hdr; in ext4_ext_insert_extent()
2045 eh = npath[depth].p_hdr; in ext4_ext_insert_extent()
2066 depth = ext_depth(inode); in ext4_ext_insert_extent()
2067 eh = path[depth].p_hdr; in ext4_ext_insert_extent()
2070 nearex = path[depth].p_ext; in ext4_ext_insert_extent()
2072 err = ext4_ext_get_access(handle, inode, path + depth); in ext4_ext_insert_extent()
2122 path[depth].p_ext = nearex; in ext4_ext_insert_extent()
2155 int exists, depth = 0, err = 0; in ext4_fill_fiemap_extents() local
2172 depth = ext_depth(inode); in ext4_fill_fiemap_extents()
2173 if (unlikely(path[depth].p_hdr == NULL)) { in ext4_fill_fiemap_extents()
2175 EXT4_ERROR_INODE(inode, "path[%d].p_hdr == NULL", depth); in ext4_fill_fiemap_extents()
2179 ex = path[depth].p_ext; in ext4_fill_fiemap_extents()
2304 int depth = ext_depth(inode); in ext4_ext_put_gap_in_cache() local
2310 ex = path[depth].p_ext; in ext4_ext_put_gap_in_cache()
2356 struct ext4_ext_path *path, int depth) in ext4_ext_rm_idx() argument
2362 depth--; in ext4_ext_rm_idx()
2363 path = path + depth; in ext4_ext_rm_idx()
2389 while (--depth >= 0) { in ext4_ext_rm_idx()
2415 int depth = ext_depth(inode); in ext4_ext_calc_credits_for_single_extent() local
2419 if (le16_to_cpu(path[depth].p_hdr->eh_entries) in ext4_ext_calc_credits_for_single_extent()
2420 < le16_to_cpu(path[depth].p_hdr->eh_max)) { in ext4_ext_calc_credits_for_single_extent()
2451 int depth; in ext4_ext_index_trans_blocks() local
2457 depth = ext_depth(inode); in ext4_ext_index_trans_blocks()
2460 index = depth * 2; in ext4_ext_index_trans_blocks()
2462 index = depth * 3; in ext4_ext_index_trans_blocks()
2599 int depth = ext_depth(inode), credits; in ext4_ext_rm_leaf() local
2611 if (!path[depth].p_hdr) in ext4_ext_rm_leaf()
2612 path[depth].p_hdr = ext_block_hdr(path[depth].p_bh); in ext4_ext_rm_leaf()
2613 eh = path[depth].p_hdr; in ext4_ext_rm_leaf()
2614 if (unlikely(path[depth].p_hdr == NULL)) { in ext4_ext_rm_leaf()
2615 EXT4_ERROR_INODE(inode, "path[%d].p_hdr == NULL", depth); in ext4_ext_rm_leaf()
2619 ex = path[depth].p_ext; in ext4_ext_rm_leaf()
2638 path[depth].p_ext = ex; in ext4_ext_rm_leaf()
2696 err = ext4_ext_get_access(handle, inode, path + depth); in ext4_ext_rm_leaf()
2737 err = ext4_ext_dirty(handle, inode, path + depth); in ext4_ext_rm_leaf()
2771 if (err == 0 && eh->eh_entries == 0 && path[depth].p_bh != NULL) in ext4_ext_rm_leaf()
2772 err = ext4_ext_rm_idx(handle, inode, path, depth); in ext4_ext_rm_leaf()
2803 int depth = ext_depth(inode); in ext4_ext_remove_space() local
2812 handle = ext4_journal_start(inode, EXT4_HT_TRUNCATE, depth + 1); in ext4_ext_remove_space()
2817 trace_ext4_ext_remove_space(inode, start, end, depth); in ext4_ext_remove_space()
2837 depth = ext_depth(inode); in ext4_ext_remove_space()
2839 ex = path[depth].p_ext; in ext4_ext_remove_space()
2841 if (depth) { in ext4_ext_remove_space()
2844 depth); in ext4_ext_remove_space()
2906 depth = ext_depth(inode); in ext4_ext_remove_space()
2908 int k = i = depth; in ext4_ext_remove_space()
2913 path = kzalloc(sizeof(struct ext4_ext_path) * (depth + 1), in ext4_ext_remove_space()
2919 path[0].p_maxdepth = path[0].p_depth = depth; in ext4_ext_remove_space()
2923 if (ext4_ext_check(inode, path[0].p_hdr, depth, 0)) { in ext4_ext_remove_space()
2931 if (i == depth) { in ext4_ext_remove_space()
2971 ext4_idx_pblock(path[i].p_idx), depth - i - 1, in ext4_ext_remove_space()
2981 if (WARN_ON(i + 1 > depth)) { in ext4_ext_remove_space()
3007 trace_ext4_ext_remove_space_done(inode, start, end, depth, in ext4_ext_remove_space()
3170 unsigned int ee_len, depth; in ext4_split_extent_at() local
3181 depth = ext_depth(inode); in ext4_split_extent_at()
3182 ex = path[depth].p_ext; in ext4_split_extent_at()
3193 err = ext4_ext_get_access(handle, inode, path + depth); in ext4_split_extent_at()
3225 err = ext4_ext_dirty(handle, inode, path + depth); in ext4_split_extent_at()
3310 unsigned int ee_len, depth; in ext4_split_extent() local
3316 depth = ext_depth(inode); in ext4_split_extent()
3317 ex = path[depth].p_ext; in ext4_split_extent()
3344 depth = ext_depth(inode); in ext4_split_extent()
3345 ex = path[depth].p_ext; in ext4_split_extent()
3405 unsigned int ee_len, depth, map_len = map->m_len; in ext4_ext_convert_to_initialized() local
3420 depth = ext_depth(inode); in ext4_ext_convert_to_initialized()
3421 eh = path[depth].p_hdr; in ext4_ext_convert_to_initialized()
3422 ex = path[depth].p_ext; in ext4_ext_convert_to_initialized()
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 ext4_ext_dirty(handle, inode, path + depth); in ext4_ext_convert_to_initialized()
3546 path[depth].p_ext = abut_ex; in ext4_ext_convert_to_initialized()
3574 err = ext4_ext_get_access(handle, inode, path + depth); in ext4_ext_convert_to_initialized()
3671 int split_flag = 0, depth; in ext4_split_convert_extents() local
3685 depth = ext_depth(inode); in ext4_split_convert_extents()
3686 ex = path[depth].p_ext; in ext4_split_convert_extents()
3712 int depth; in ext4_convert_unwritten_extents_endio() local
3715 depth = ext_depth(inode); in ext4_convert_unwritten_extents_endio()
3716 ex = path[depth].p_ext; in ext4_convert_unwritten_extents_endio()
3744 depth = ext_depth(inode); in ext4_convert_unwritten_extents_endio()
3745 ex = path[depth].p_ext; in ext4_convert_unwritten_extents_endio()
3748 err = ext4_ext_get_access(handle, inode, path + depth); in ext4_convert_unwritten_extents_endio()
3782 int i, depth; in check_eofblocks_fl() local
3789 depth = ext_depth(inode); in check_eofblocks_fl()
3790 eh = path[depth].p_hdr; in check_eofblocks_fl()
3819 for (i = depth-1; i >= 0; i--) in check_eofblocks_fl()
3945 int depth; in convert_initialized_extent() local
3955 depth = ext_depth(inode); in convert_initialized_extent()
3956 ex = path[depth].p_ext; in convert_initialized_extent()
3972 depth = ext_depth(inode); in convert_initialized_extent()
3973 ex = path[depth].p_ext; in convert_initialized_extent()
3981 err = ext4_ext_get_access(handle, inode, path + depth); in convert_initialized_extent()
4282 int free_on_err = 0, err = 0, depth, ret; in ext4_ext_map_blocks() local
4303 depth = ext_depth(inode); in ext4_ext_map_blocks()
4310 if (unlikely(path[depth].p_ext == NULL && depth != 0)) { in ext4_ext_map_blocks()
4313 (unsigned long) map->m_lblk, depth, in ext4_ext_map_blocks()
4314 path[depth].p_block); in ext4_ext_map_blocks()
4319 ex = path[depth].p_ext; in ext4_ext_map_blocks()
4673 int depth = 0; in ext4_alloc_file_blocks() local
4696 depth = ext_depth(inode); in ext4_alloc_file_blocks()
4698 depth = -1; in ext4_alloc_file_blocks()
4705 if (depth >= 0 && depth != ext_depth(inode)) { in ext4_alloc_file_blocks()
4707 depth = ext_depth(inode); in ext4_alloc_file_blocks()
5267 int depth, err = 0; in ext4_ext_shift_path_extents() local
5270 depth = path->p_depth; in ext4_ext_shift_path_extents()
5272 while (depth >= 0) { in ext4_ext_shift_path_extents()
5273 if (depth == path->p_depth) { in ext4_ext_shift_path_extents()
5274 ex_start = path[depth].p_ext; in ext4_ext_shift_path_extents()
5278 ex_last = EXT_LAST_EXTENT(path[depth].p_hdr); in ext4_ext_shift_path_extents()
5280 err = ext4_access_path(handle, inode, path + depth); in ext4_ext_shift_path_extents()
5284 if (ex_start == EXT_FIRST_EXTENT(path[depth].p_hdr)) in ext4_ext_shift_path_extents()
5293 EXT_FIRST_EXTENT(path[depth].p_hdr)) in ext4_ext_shift_path_extents()
5307 err = ext4_ext_dirty(handle, inode, path + depth); in ext4_ext_shift_path_extents()
5311 if (--depth < 0 || !update) in ext4_ext_shift_path_extents()
5316 err = ext4_access_path(handle, inode, path + depth); in ext4_ext_shift_path_extents()
5321 le32_add_cpu(&path[depth].p_idx->ei_block, -shift); in ext4_ext_shift_path_extents()
5323 le32_add_cpu(&path[depth].p_idx->ei_block, shift); in ext4_ext_shift_path_extents()
5324 err = ext4_ext_dirty(handle, inode, path + depth); in ext4_ext_shift_path_extents()
5329 if (path[depth].p_idx != EXT_FIRST_INDEX(path[depth].p_hdr)) in ext4_ext_shift_path_extents()
5332 depth--; in ext4_ext_shift_path_extents()
5352 int ret = 0, depth; in ext4_ext_shift_extents() local
5361 depth = path->p_depth; in ext4_ext_shift_extents()
5362 extent = path[depth].p_ext; in ext4_ext_shift_extents()
5377 depth = path->p_depth; in ext4_ext_shift_extents()
5378 extent = path[depth].p_ext; in ext4_ext_shift_extents()
5411 depth = path->p_depth; in ext4_ext_shift_extents()
5412 extent = path[depth].p_ext; in ext4_ext_shift_extents()
5421 if (extent < EXT_LAST_EXTENT(path[depth].p_hdr)) { in ext4_ext_shift_extents()
5422 path[depth].p_ext++; in ext4_ext_shift_extents()
5430 extent = EXT_LAST_EXTENT(path[depth].p_hdr); in ext4_ext_shift_extents()
5434 extent = EXT_FIRST_EXTENT(path[depth].p_hdr); in ext4_ext_shift_extents()
5440 path[depth].p_ext = extent; in ext4_ext_shift_extents()
5610 int ret = 0, depth, split_flag = 0; in ext4_insert_range() local
5705 depth = ext_depth(inode); in ext4_insert_range()
5706 extent = path[depth].p_ext; in ext4_insert_range()