Lines Matching refs:extent
40 ext2_extent extent; in ext2fs_create_extent_table() local
43 retval = ext2fs_get_mem(sizeof(struct _ext2_extent), &extent); in ext2fs_create_extent_table()
46 memset(extent, 0, sizeof(struct _ext2_extent)); in ext2fs_create_extent_table()
48 extent->size = size ? size : 50; in ext2fs_create_extent_table()
49 extent->cursor = 0; in ext2fs_create_extent_table()
50 extent->num = 0; in ext2fs_create_extent_table()
51 extent->sorted = 1; in ext2fs_create_extent_table()
54 extent->size, &extent->list); in ext2fs_create_extent_table()
56 ext2fs_free_mem(&extent); in ext2fs_create_extent_table()
59 memset(extent->list, 0, in ext2fs_create_extent_table()
60 sizeof(struct ext2_extent_entry) * extent->size); in ext2fs_create_extent_table()
61 *ret_extent = extent; in ext2fs_create_extent_table()
68 void ext2fs_free_extent_table(ext2_extent extent) in ext2fs_free_extent_table() argument
70 if (extent->list) in ext2fs_free_extent_table()
71 ext2fs_free_mem(&extent->list); in ext2fs_free_extent_table()
72 extent->list = 0; in ext2fs_free_extent_table()
73 extent->size = 0; in ext2fs_free_extent_table()
74 extent->num = 0; in ext2fs_free_extent_table()
75 ext2fs_free_mem(&extent); in ext2fs_free_extent_table()
81 errcode_t ext2fs_add_extent_entry(ext2_extent extent, __u64 old_loc, __u64 new_loc) in ext2fs_add_extent_entry() argument
88 if (extent->num >= extent->size) { in ext2fs_add_extent_entry()
89 newsize = extent->size + 100; in ext2fs_add_extent_entry()
91 extent->size, in ext2fs_add_extent_entry()
93 newsize, &extent->list); in ext2fs_add_extent_entry()
96 extent->size = newsize; in ext2fs_add_extent_entry()
98 curr = extent->num; in ext2fs_add_extent_entry()
99 ent = extent->list + curr; in ext2fs_add_extent_entry()
115 extent->sorted = 0; in ext2fs_add_extent_entry()
121 extent->num++; in ext2fs_add_extent_entry()
143 __u64 ext2fs_extent_translate(ext2_extent extent, __u64 old_loc) in ext2fs_extent_translate() argument
149 if (!extent->sorted) { in ext2fs_extent_translate()
150 qsort(extent->list, extent->num, in ext2fs_extent_translate()
152 extent->sorted = 1; in ext2fs_extent_translate()
155 high = extent->num-1; in ext2fs_extent_translate()
164 lowval = extent->list[low].old_loc; in ext2fs_extent_translate()
165 highval = extent->list[high].old_loc; in ext2fs_extent_translate()
182 if ((old_loc >= extent->list[mid].old_loc) && in ext2fs_extent_translate()
183 (old_loc < extent->list[mid].old_loc + extent->list[mid].size)) in ext2fs_extent_translate()
184 return (extent->list[mid].new_loc + in ext2fs_extent_translate()
185 (old_loc - extent->list[mid].old_loc)); in ext2fs_extent_translate()
186 if (old_loc < extent->list[mid].old_loc) in ext2fs_extent_translate()
197 void ext2fs_extent_dump(ext2_extent extent, FILE *out) in ext2fs_extent_dump() argument
204 (unsigned long long) extent->num, in ext2fs_extent_dump()
205 (unsigned long long) extent->size, in ext2fs_extent_dump()
206 (unsigned long long) extent->cursor, in ext2fs_extent_dump()
207 (unsigned long long) extent->sorted); in ext2fs_extent_dump()
208 for (i=0, ent=extent->list; i < extent->num; i++, ent++) { in ext2fs_extent_dump()
219 errcode_t ext2fs_iterate_extent(ext2_extent extent, __u64 *old_loc, in ext2fs_iterate_extent() argument
225 extent->cursor = 0; in ext2fs_iterate_extent()
229 if (extent->cursor >= extent->num) { in ext2fs_iterate_extent()
236 ent = extent->list + extent->cursor++; in ext2fs_iterate_extent()