• Home
  • Raw
  • Download

Lines Matching refs:extent

108 static void dbg_print_extent(char *desc, struct ext2fs_extent *extent)  in dbg_print_extent()  argument
113 extent->e_lblk, extent->e_lblk + extent->e_len - 1, in dbg_print_extent()
114 extent->e_len, extent->e_pblk); in dbg_print_extent()
115 if (extent->e_flags & EXT2_EXTENT_FLAGS_LEAF) in dbg_print_extent()
117 if (extent->e_flags & EXT2_EXTENT_FLAGS_UNINIT) in dbg_print_extent()
119 if (extent->e_flags & EXT2_EXTENT_FLAGS_SECOND_VISIT) in dbg_print_extent()
121 if (!extent->e_flags) in dbg_print_extent()
306 int flags, struct ext2fs_extent *extent) in ext2fs_extent_get() argument
534 extent->e_flags = 0; in ext2fs_extent_get()
542 extent->e_pblk = ext2fs_le32_to_cpu(ex->ee_start) + in ext2fs_extent_get()
544 extent->e_lblk = ext2fs_le32_to_cpu(ex->ee_block); in ext2fs_extent_get()
545 extent->e_len = ext2fs_le16_to_cpu(ex->ee_len); in ext2fs_extent_get()
546 extent->e_flags |= EXT2_EXTENT_FLAGS_LEAF; in ext2fs_extent_get()
547 if (extent->e_len > EXT_INIT_MAX_LEN) { in ext2fs_extent_get()
548 extent->e_len -= EXT_INIT_MAX_LEN; in ext2fs_extent_get()
549 extent->e_flags |= EXT2_EXTENT_FLAGS_UNINIT; in ext2fs_extent_get()
552 extent->e_pblk = ext2fs_le32_to_cpu(ix->ei_leaf) + in ext2fs_extent_get()
554 extent->e_lblk = ext2fs_le32_to_cpu(ix->ei_block); in ext2fs_extent_get()
561 extent->e_len = end_blk - extent->e_lblk; in ext2fs_extent_get()
564 extent->e_flags |= EXT2_EXTENT_FLAGS_SECOND_VISIT; in ext2fs_extent_get()
616 struct ext2fs_extent extent;
620 retval = ext2fs_extent_get(handle, EXT2_EXTENT_CURRENT, &extent);
635 save_path->lblk = extent.e_lblk;
662 struct ext2fs_extent extent; in ext2fs_extent_goto2() local
665 retval = ext2fs_extent_get(handle, EXT2_EXTENT_ROOT, &extent); in ext2fs_extent_goto2()
686 dbg_print_extent("root", &extent); in ext2fs_extent_goto2()
691 if ((blk >= extent.e_lblk) && in ext2fs_extent_goto2()
692 (blk < extent.e_lblk + extent.e_len)) in ext2fs_extent_goto2()
694 if (blk < extent.e_lblk) { in ext2fs_extent_goto2()
697 &extent); in ext2fs_extent_goto2()
702 &extent); in ext2fs_extent_goto2()
711 &extent); in ext2fs_extent_goto2()
718 dbg_print_extent("next", &extent); in ext2fs_extent_goto2()
720 if (blk == extent.e_lblk) in ext2fs_extent_goto2()
722 if (blk > extent.e_lblk) in ext2fs_extent_goto2()
726 &extent); in ext2fs_extent_goto2()
731 dbg_print_extent("prev", &extent); in ext2fs_extent_goto2()
736 &extent); in ext2fs_extent_goto2()
741 dbg_print_extent("down", &extent); in ext2fs_extent_goto2()
774 struct ext2fs_extent extent; in ext2fs_extent_fix_parents() local
789 retval = ext2fs_extent_get(handle, EXT2_EXTENT_CURRENT, &extent); in ext2fs_extent_fix_parents()
794 start = extent.e_lblk; in ext2fs_extent_fix_parents()
803 retval = ext2fs_extent_get(handle, EXT2_EXTENT_UP, &extent); in ext2fs_extent_fix_parents()
806 if (extent.e_lblk == start) in ext2fs_extent_fix_parents()
809 extent.e_len += (extent.e_lblk - start); in ext2fs_extent_fix_parents()
810 extent.e_lblk = start; in ext2fs_extent_fix_parents()
811 retval = ext2fs_extent_replace(handle, 0, &extent); in ext2fs_extent_fix_parents()
825 struct ext2fs_extent *extent) in ext2fs_extent_replace() argument
845 dbg_print_extent(0, extent); in ext2fs_extent_replace()
851 ex->ee_block = ext2fs_cpu_to_le32(extent->e_lblk); in ext2fs_extent_replace()
852 ex->ee_start = ext2fs_cpu_to_le32(extent->e_pblk & 0xFFFFFFFF); in ext2fs_extent_replace()
853 ex->ee_start_hi = ext2fs_cpu_to_le16(extent->e_pblk >> 32); in ext2fs_extent_replace()
854 if (extent->e_flags & EXT2_EXTENT_FLAGS_UNINIT) { in ext2fs_extent_replace()
855 if (extent->e_len > EXT_UNINIT_MAX_LEN) in ext2fs_extent_replace()
857 ex->ee_len = ext2fs_cpu_to_le16(extent->e_len + in ext2fs_extent_replace()
860 if (extent->e_len > EXT_INIT_MAX_LEN) in ext2fs_extent_replace()
862 ex->ee_len = ext2fs_cpu_to_le16(extent->e_len); in ext2fs_extent_replace()
867 ix->ei_leaf = ext2fs_cpu_to_le32(extent->e_pblk & 0xFFFFFFFF); in ext2fs_extent_replace()
868 ix->ei_leaf_hi = ext2fs_cpu_to_le16(extent->e_pblk >> 32); in ext2fs_extent_replace()
869 ix->ei_block = ext2fs_cpu_to_le32(extent->e_lblk); in ext2fs_extent_replace()
909 struct ext2fs_extent extent; in extent_node_split() local
929 retval = ext2fs_extent_get(handle, EXT2_EXTENT_CURRENT, &extent); in extent_node_split()
939 orig_lblk = extent.e_lblk; in extent_node_split()
970 retval = ext2fs_extent_get(handle, EXT2_EXTENT_UP, &extent); in extent_node_split()
1106 retval = ext2fs_extent_get(handle, EXT2_EXTENT_FIRST_SIB, &extent); in extent_node_split()
1110 extent.e_lblk = new_node_start; in extent_node_split()
1111 extent.e_pblk = new_node_pblk; in extent_node_split()
1112 extent.e_len = handle->path[0].end_blk - extent.e_lblk; in extent_node_split()
1113 retval = ext2fs_extent_replace(handle, 0, &extent); in extent_node_split()
1119 retval = ext2fs_extent_get(handle, EXT2_EXTENT_UP, &extent); in extent_node_split()
1121 new_node_length = new_node_start - extent.e_lblk; in extent_node_split()
1122 extent.e_len -= new_node_length; in extent_node_split()
1123 retval = ext2fs_extent_replace(handle, 0, &extent); in extent_node_split()
1128 extent.e_lblk = new_node_start; in extent_node_split()
1129 extent.e_pblk = new_node_pblk; in extent_node_split()
1130 extent.e_len = new_node_length; in extent_node_split()
1131 retval = ext2fs_extent_insert(handle, EXT2_EXTENT_INSERT_AFTER, &extent); in extent_node_split()
1162 struct ext2fs_extent *extent) in ext2fs_extent_insert() argument
1179 dbg_print_extent(0, extent); in ext2fs_extent_insert()
1222 retval = ext2fs_extent_replace(handle, 0, extent); in ext2fs_extent_insert()
1273 struct ext2fs_extent extent, next_extent, prev_extent; in ext2fs_extent_set_bmap() local
1315 &extent))) { in ext2fs_extent_set_bmap()
1318 memset(&extent, 0, sizeof(extent)); in ext2fs_extent_set_bmap()
1323 orig_lblk = extent.e_lblk; in ext2fs_extent_set_bmap()
1348 retval = ext2fs_extent_get(handle, EXT2_EXTENT_CURRENT, &extent); in ext2fs_extent_set_bmap()
1351 if (extent.e_flags & EXT2_EXTENT_FLAGS_UNINIT) in ext2fs_extent_set_bmap()
1386 (extent.e_pblk + (logical - extent.e_lblk) == physical)) { in ext2fs_extent_set_bmap()
1397 if ((logical == extent.e_lblk + extent.e_len) && in ext2fs_extent_set_bmap()
1398 (physical == extent.e_pblk + extent.e_len) && in ext2fs_extent_set_bmap()
1400 ((int) extent.e_len < max_len-1)) { in ext2fs_extent_set_bmap()
1401 extent.e_len++; in ext2fs_extent_set_bmap()
1402 retval = ext2fs_extent_replace(handle, 0, &extent); in ext2fs_extent_set_bmap()
1403 } else if ((logical == extent.e_lblk - 1) && in ext2fs_extent_set_bmap()
1404 (physical == extent.e_pblk - 1) && in ext2fs_extent_set_bmap()
1406 ((int) extent.e_len < max_len - 1)) { in ext2fs_extent_set_bmap()
1407 extent.e_len++; in ext2fs_extent_set_bmap()
1408 extent.e_lblk--; in ext2fs_extent_set_bmap()
1409 extent.e_pblk--; in ext2fs_extent_set_bmap()
1410 retval = ext2fs_extent_replace(handle, 0, &extent); in ext2fs_extent_set_bmap()
1425 } else if (logical < extent.e_lblk) in ext2fs_extent_set_bmap()
1435 } else if ((logical == extent.e_lblk) && (extent.e_len == 1)) { in ext2fs_extent_set_bmap()
1452 } else if (logical == extent.e_lblk + extent.e_len - 1) { in ext2fs_extent_set_bmap()
1492 &extent); in ext2fs_extent_set_bmap()
1496 extent.e_len--; in ext2fs_extent_set_bmap()
1497 retval = ext2fs_extent_replace(handle, 0, &extent); in ext2fs_extent_set_bmap()
1500 } else if (logical == extent.e_lblk) { in ext2fs_extent_set_bmap()
1529 &extent); in ext2fs_extent_set_bmap()
1533 extent.e_pblk++; in ext2fs_extent_set_bmap()
1534 extent.e_lblk++; in ext2fs_extent_set_bmap()
1535 extent.e_len--; in ext2fs_extent_set_bmap()
1536 retval = ext2fs_extent_replace(handle, 0, &extent); in ext2fs_extent_set_bmap()
1552 save_lblk = extent.e_lblk; in ext2fs_extent_set_bmap()
1553 save_length = extent.e_len; in ext2fs_extent_set_bmap()
1554 save_extent = extent; in ext2fs_extent_set_bmap()
1557 extent.e_len = (logical - extent.e_lblk); in ext2fs_extent_set_bmap()
1558 retval = ext2fs_extent_replace(handle, 0, &extent); in ext2fs_extent_set_bmap()
1575 extent.e_pblk += extent.e_len + 1; in ext2fs_extent_set_bmap()
1576 extent.e_lblk += extent.e_len + 1; in ext2fs_extent_set_bmap()
1577 extent.e_len = save_length - extent.e_len - 1; in ext2fs_extent_set_bmap()
1579 EXT2_EXTENT_INSERT_AFTER, &extent); in ext2fs_extent_set_bmap()
1620 struct ext2fs_extent extent; in ext2fs_extent_delete() local
1623 &extent); in ext2fs_extent_delete()
1626 dbg_print_extent(0, &extent); in ext2fs_extent_delete()
1656 struct ext2fs_extent extent; in ext2fs_extent_delete() local
1659 &extent); in ext2fs_extent_delete()
1670 extent.e_pblk, -1); in ext2fs_extent_delete()
1752 struct ext2fs_extent extent; in ext2fs_fix_extents_checksums() local
1768 errcode = ext2fs_extent_get(handle, EXT2_EXTENT_ROOT, &extent); in ext2fs_fix_extents_checksums()
1774 if (extent.e_flags & EXT2_EXTENT_FLAGS_LEAF) { in ext2fs_fix_extents_checksums()
1777 &extent); in ext2fs_fix_extents_checksums()
1782 errcode = ext2fs_extent_get(handle, EXT2_EXTENT_NEXT, &extent); in ext2fs_fix_extents_checksums()
1821 struct ext2fs_extent extent; in ext2fs_count_blocks() local
1831 errcode = ext2fs_extent_get(handle, EXT2_EXTENT_ROOT, &extent); in ext2fs_count_blocks()
1842 if (extent.e_flags & EXT2_EXTENT_FLAGS_LEAF) { in ext2fs_count_blocks()
1843 blkcount += extent.e_len; in ext2fs_count_blocks()
1853 errcode = ext2fs_extent_get(handle, EXT2_EXTENT_NEXT, &extent); in ext2fs_count_blocks()