Lines Matching refs:start
86 static u64 range_end(u64 start, u64 len) in range_end() argument
88 if (start + len < start) in range_end()
90 return start + len; in range_end()
99 u64 end = range_end(em->start, em->len); in tree_insert()
105 if (em->start < entry->start) in tree_insert()
107 else if (em->start >= extent_map_end(entry)) in tree_insert()
114 while (parent && em->start >= extent_map_end(entry)) { in tree_insert()
119 if (end > entry->start && em->start < extent_map_end(entry)) in tree_insert()
124 while (parent && em->start < entry->start) { in tree_insert()
129 if (end > entry->start && em->start < extent_map_end(entry)) in tree_insert()
156 if (offset < entry->start) in __tree_search()
176 while (prev && offset < prev_entry->start) { in __tree_search()
210 if (extent_map_end(prev) == next->start && in mergable_maps()
231 if (em->start != 0) { in try_merge_map()
236 em->start = merge->start; in try_merge_map()
276 int unpin_extent_cache(struct extent_map_tree *tree, u64 start, u64 len, in unpin_extent_cache() argument
284 em = lookup_extent_mapping(tree, start, len); in unpin_extent_cache()
286 WARN_ON(!em || em->start != start); in unpin_extent_cache()
293 em->mod_start = em->start; in unpin_extent_cache()
304 em->mod_start = em->start; in unpin_extent_cache()
327 em->mod_start = em->start; in setup_extent_mapping()
362 u64 start, u64 len, int strict) in __lookup_extent_mapping() argument
368 u64 end = range_end(start, len); in __lookup_extent_mapping()
370 rb_node = __tree_search(&tree->map, start, &prev, &next); in __lookup_extent_mapping()
382 if (strict && !(end > em->start && start < extent_map_end(em))) in __lookup_extent_mapping()
401 u64 start, u64 len) in lookup_extent_mapping() argument
403 return __lookup_extent_mapping(tree, start, len, 1); in lookup_extent_mapping()
418 u64 start, u64 len) in search_extent_mapping() argument
420 return __lookup_extent_mapping(tree, start, len, 0); in search_extent_mapping()
490 u64 start; in merge_extent_mapping() local
494 BUG_ON(map_start < em->start || map_start >= extent_map_end(em)); in merge_extent_mapping()
496 if (existing->start > map_start) { in merge_extent_mapping()
504 start = prev ? extent_map_end(prev) : em->start; in merge_extent_mapping()
505 start = max_t(u64, start, em->start); in merge_extent_mapping()
506 end = next ? next->start : extent_map_end(em); in merge_extent_mapping()
508 start_diff = start - em->start; in merge_extent_mapping()
509 em->start = start; in merge_extent_mapping()
510 em->len = end - start; in merge_extent_mapping()
541 struct extent_map **em_in, u64 start, u64 len) in btrfs_add_extent_mapping() argument
556 existing = search_extent_mapping(em_tree, start, len); in btrfs_add_extent_mapping()
558 trace_btrfs_handle_em_exist(fs_info, existing, em, start, len); in btrfs_add_extent_mapping()
564 if (start >= existing->start && in btrfs_add_extent_mapping()
565 start < extent_map_end(existing)) { in btrfs_add_extent_mapping()
570 u64 orig_start = em->start; in btrfs_add_extent_mapping()
578 em, start); in btrfs_add_extent_mapping()
584 ret, existing->start, existing->len, in btrfs_add_extent_mapping()