Lines Matching full:depth
83 ext4_ext_walk_index(struct inode *ip, struct ext4_extent_index *ex, int depth, in ext4_ext_walk_index() argument
114 (struct ext4_extent_header *)bp->b_data, depth); in ext4_ext_walk_index()
141 ext4_ext_walk_header(struct inode *ip, struct ext4_extent_header *eh, int depth) in ext4_ext_walk_header() argument
145 error = ext4_ext_check_header(ip, eh, depth); in ext4_ext_walk_header()
150 printf("header %p => (entries %d max %d depth %d gen %d)\n", in ext4_ext_walk_header()
158 (struct ext4_extent_index *)(eh + 1 + i), depth - 1, in ext4_ext_walk_header()
186 int k, depth, error = 0; in ext4_ext_print_path() local
188 depth = path->ep_depth; in ext4_ext_print_path()
193 for (k = 0; k <= depth && error == 0; k++, path++) { in ext4_ext_print_path()
196 depth - 1, false); in ext4_ext_print_path()
340 ext4_ext_max_entries(struct inode *ip, int depth) in ext4_ext_max_entries() argument
343 if (depth == ext4_ext_inode_depth(ip)) { in ext4_ext_max_entries()
344 if (depth == 0) in ext4_ext_max_entries()
349 if (depth == 0) in ext4_ext_max_entries()
404 int depth) in ext4_validate_extent_entries() argument
412 if (depth == 0) { in ext4_validate_extent_entries()
448 int depth) in ext4_ext_check_header() argument
460 if (le16toh(eh->eh_depth) != depth || in ext4_ext_check_header()
470 if (le16toh(eh->eh_max) > ext4_ext_max_entries(ip, depth)) { in ext4_ext_check_header()
482 if (ext4_validate_extent_entries(ip, eh, depth)) { in ext4_ext_check_header()
575 int depth, i; in ext4_ext_drop_refs() local
580 depth = path->ep_depth; in ext4_ext_drop_refs()
581 for (i = 0; i <= depth; i++, path++) in ext4_ext_drop_refs()
607 int error, depth, i, ppos, alloc; in ext4_ext_find_extent() local
610 depth = ext4_ext_inode_depth(ip); in ext4_ext_find_extent()
614 error = ext4_ext_check_header(ip, eh, depth); in ext4_ext_find_extent()
634 i = depth; in ext4_ext_find_extent()
648 if (ppos > depth) { in ext4_ext_find_extent()
650 "ppos > depth => extent corrupted"); in ext4_ext_find_extent()
743 int depth; in ext4_ext_blkpref() local
748 depth = path->ep_depth; in ext4_ext_blkpref()
749 ex = path[depth].ep_ext; in ext4_ext_blkpref()
761 if (path[depth].ep_data) in ext4_ext_blkpref()
762 return (path[depth].ep_blk); in ext4_ext_blkpref()
793 int depth = path->ep_depth; in ext4_ext_next_leaf_block() local
796 if (depth == 0) in ext4_ext_next_leaf_block()
800 depth--; in ext4_ext_next_leaf_block()
802 while (depth >= 0) { in ext4_ext_next_leaf_block()
803 if (path[depth].ep_index != in ext4_ext_next_leaf_block()
804 EXT_LAST_INDEX(path[depth].ep_header)) in ext4_ext_next_leaf_block()
805 return (le32toh(path[depth].ep_index[1].ei_blk)); in ext4_ext_next_leaf_block()
807 depth--; in ext4_ext_next_leaf_block()
929 int depth = ext4_ext_inode_depth(ip); in ext4_ext_split() local
945 if (path[depth].ep_ext > EXT_MAX_EXTENT(path[depth].ep_header)) { in ext4_ext_split()
951 if (path[depth].ep_ext != EXT_MAX_EXTENT(path[depth].ep_header)) in ext4_ext_split()
952 border = le32toh(path[depth].ep_ext[1].e_blk); in ext4_ext_split()
957 ablks = malloc(sizeof(e4fs_daddr_t) * depth, in ext4_ext_split()
959 for (a = 0; a < depth - at; a++) { in ext4_ext_split()
980 if (le16toh(path[depth].ep_header->eh_ecount) != in ext4_ext_split()
981 le16toh(path[depth].ep_header->eh_max)) { in ext4_ext_split()
990 path[depth].ep_ext++; in ext4_ext_split()
991 while (path[depth].ep_ext <= EXT_MAX_EXTENT(path[depth].ep_header)) { in ext4_ext_split()
992 path[depth].ep_ext++; in ext4_ext_split()
996 memmove(ex, path[depth].ep_ext - m, in ext4_ext_split()
1007 path[depth].ep_header->eh_ecount = in ext4_ext_split()
1008 htole16(le16toh(path[depth].ep_header->eh_ecount) - m); in ext4_ext_split()
1009 ext4_ext_dirty(ip, path + depth); in ext4_ext_split()
1013 k = depth - at - 1; in ext4_ext_split()
1017 i = depth - 1; in ext4_ext_split()
1031 neh->eh_depth = htole16(depth - i); in ext4_ext_split()
1069 for (i = 0; i < depth; i++) { in ext4_ext_split()
1147 int depth, i, error; in ext4_ext_create_new_leaf() local
1150 i = depth = ext4_ext_inode_depth(ip); in ext4_ext_create_new_leaf()
1153 curpath = path + depth; in ext4_ext_create_new_leaf()
1174 /* Tree is full, do grow in depth. */ in ext4_ext_create_new_leaf()
1186 depth = ext4_ext_inode_depth(ip); in ext4_ext_create_new_leaf()
1187 if (le16toh(path[depth].ep_header->eh_ecount) == in ext4_ext_create_new_leaf()
1188 le16toh(path[depth].ep_header->eh_max)) in ext4_ext_create_new_leaf()
1202 int depth, k; in ext4_ext_correct_indexes() local
1204 depth = ext4_ext_inode_depth(ip); in ext4_ext_correct_indexes()
1205 eh = path[depth].ep_header; in ext4_ext_correct_indexes()
1206 ex = path[depth].ep_ext; in ext4_ext_correct_indexes()
1211 if (!depth) in ext4_ext_correct_indexes()
1218 k = depth - 1; in ext4_ext_correct_indexes()
1219 border = le32toh(path[depth].ep_ext->e_blk); in ext4_ext_correct_indexes()
1241 int depth, len, error, next; in ext4_ext_insert_extent() local
1243 depth = ext4_ext_inode_depth(ip); in ext4_ext_insert_extent()
1244 ex = path[depth].ep_ext; in ext4_ext_insert_extent()
1247 if (htole16(newext->e_len) == 0 || path[depth].ep_header == NULL) in ext4_ext_insert_extent()
1253 eh = path[depth].ep_header; in ext4_ext_insert_extent()
1259 depth = ext4_ext_inode_depth(ip); in ext4_ext_insert_extent()
1260 eh = path[depth].ep_header; in ext4_ext_insert_extent()
1281 eh = npath[depth].ep_header; in ext4_ext_insert_extent()
1296 depth = ext4_ext_inode_depth(ip); in ext4_ext_insert_extent()
1297 eh = path[depth].ep_header; in ext4_ext_insert_extent()
1300 nearex = path[depth].ep_ext; in ext4_ext_insert_extent()
1303 path[depth].ep_ext = EXT_FIRST_EXTENT(eh); in ext4_ext_insert_extent()
1311 path[depth].ep_ext = nearex + 1; in ext4_ext_insert_extent()
1316 path[depth].ep_ext = nearex; in ext4_ext_insert_extent()
1320 nearex = path[depth].ep_ext; in ext4_ext_insert_extent()
1354 ext4_ext_dirty(ip, path + depth); in ext4_ext_insert_extent()
1404 int error = 0, depth; in ext4_ext_get_blocks() local
1430 depth = ext4_ext_inode_depth(ip); in ext4_ext_get_blocks()
1431 if (path[depth].ep_ext == NULL && depth != 0) { in ext4_ext_get_blocks()
1436 if ((ex = path[depth].ep_ext)) { in ext4_ext_get_blocks()
1556 int depth; in ext4_ext_rm_leaf() local
1559 depth = ext4_ext_inode_depth(ip); in ext4_ext_rm_leaf()
1560 if (!path[depth].ep_header) { in ext4_ext_rm_leaf()
1561 if (path[depth].ep_data == NULL) in ext4_ext_rm_leaf()
1563 path[depth].ep_header = in ext4_ext_rm_leaf()
1564 (struct ext4_extent_header* )path[depth].ep_data; in ext4_ext_rm_leaf()
1567 eh = path[depth].ep_header; in ext4_ext_rm_leaf()
1581 path[depth].ep_ext = ex; in ext4_ext_rm_leaf()
1616 ext4_ext_dirty(ip, path + depth); in ext4_ext_rm_leaf()
1631 path[depth].ep_data != NULL) in ext4_ext_rm_leaf()
1632 error = ext4_ext_rm_index(ip, path + depth); in ext4_ext_rm_leaf()
1640 int depth, int flags) in ext4_read_extent_tree_block() argument
1655 if (le16toh(eh->eh_depth) != depth) { in ext4_read_extent_tree_block()
1661 error = ext4_ext_check_header(ip, eh, depth); in ext4_read_extent_tree_block()
1696 int depth; in ext4_ext_remove_space() local
1700 depth = ext4_ext_inode_depth(ip); in ext4_ext_remove_space()
1702 error = ext4_ext_check_header(ip, ehp, depth); in ext4_ext_remove_space()
1706 path = malloc(sizeof(struct ext4_extent_path) * (depth + 1), in ext4_ext_remove_space()
1709 path[0].ep_depth = depth; in ext4_ext_remove_space()
1712 if (i == depth) { in ext4_ext_remove_space()