Lines Matching defs:merge
189 /* check to see if two extent_map structs are adjacent and safe to merge */
196 * don't merge compressed extents, we need to know their
207 * We don't want to merge stuff that hasn't been written to the log yet
237 struct extent_map *merge = NULL;
254 merge = rb_entry(rb, struct extent_map, rb_node);
255 if (rb && mergable_maps(merge, em)) {
256 em->start = merge->start;
257 em->orig_start = merge->orig_start;
258 em->len += merge->len;
259 em->block_len += merge->block_len;
260 em->block_start = merge->block_start;
261 em->mod_len = (em->mod_len + em->mod_start) - merge->mod_start;
262 em->mod_start = merge->mod_start;
263 em->generation = max(em->generation, merge->generation);
265 rb_erase_cached(&merge->rb_node, &tree->map);
266 RB_CLEAR_NODE(&merge->rb_node);
267 free_extent_map(merge);
273 merge = rb_entry(rb, struct extent_map, rb_node);
274 if (rb && mergable_maps(em, merge)) {
275 em->len += merge->len;
276 em->block_len += merge->block_len;
277 rb_erase_cached(&merge->rb_node, &tree->map);
278 RB_CLEAR_NODE(&merge->rb_node);
279 em->mod_len = (merge->mod_start + merge->mod_len) - em->mod_start;
280 em->generation = max(em->generation, merge->generation);
281 free_extent_map(merge);
392 * Insert @em into @tree or perform a simple forward/backward merge with
395 * reference dropped if the merge attempt was successful.
640 "unexpected error %d: merge existing(start %llu len %llu) with em(start %llu len %llu)\n",