Lines Matching defs:merge
185 /* Check to see if two extent_map structs are adjacent and safe to merge. */
192 * don't merge compressed extents, we need to know their
203 * We don't want to merge stuff that hasn't been written to the log yet
233 struct extent_map *merge = NULL;
250 merge = rb_entry(rb, struct extent_map, rb_node);
251 if (rb && mergable_maps(merge, em)) {
252 em->start = merge->start;
253 em->orig_start = merge->orig_start;
254 em->len += merge->len;
255 em->block_len += merge->block_len;
256 em->block_start = merge->block_start;
257 em->mod_len = (em->mod_len + em->mod_start) - merge->mod_start;
258 em->mod_start = merge->mod_start;
259 em->generation = max(em->generation, merge->generation);
262 rb_erase_cached(&merge->rb_node, &tree->map);
263 RB_CLEAR_NODE(&merge->rb_node);
264 free_extent_map(merge);
270 merge = rb_entry(rb, struct extent_map, rb_node);
271 if (rb && mergable_maps(em, merge)) {
272 em->len += merge->len;
273 em->block_len += merge->block_len;
274 rb_erase_cached(&merge->rb_node, &tree->map);
275 RB_CLEAR_NODE(&merge->rb_node);
276 em->mod_len = (merge->mod_start + merge->mod_len) - em->mod_start;
277 em->generation = max(em->generation, merge->generation);
279 free_extent_map(merge);
398 * Insert @em into @tree or perform a simple forward/backward merge with
401 * reference dropped if the merge attempt was successful.
658 "unexpected error %d: merge existing(start %llu len %llu) with em(start %llu len %llu)\n",