@@ -558,12 +558,14 @@ inline void BlueStore::Writer::_place_extent_in_blob(
558558 // we can just expand existing Extent
559559 ex->length += map_end - map_begin;
560560 dout (20 ) << __func__ << " expanded extent " << ex->print (pp_mode) << dendl;
561+ left_affected_range = std::min (left_affected_range, ex->logical_offset );
561562 } else {
562563 // disjointed, new extent needed
563564 Extent *le = new Extent (
564565 map_begin, in_blob_offset, map_end - map_begin, ex->blob );
565566 dout (20 ) << __func__ << " new extent " << le->print (pp_mode) << dendl;
566567 onode->extent_map .extent_map .insert (*le);
568+ left_affected_range = std::min (left_affected_range, le->logical_offset );
567569 }
568570 } else if (ex->logical_offset >= map_end) {
569571 // we are adding to left side of target
@@ -574,12 +576,14 @@ inline void BlueStore::Writer::_place_extent_in_blob(
574576 ex->blob_offset -= (map_end - map_begin);
575577 ex->length += (map_end - map_begin);
576578 dout (20 ) << __func__ << " expanded extent " << ex->print (pp_mode) << dendl;
579+ right_affected_range = std::max (right_affected_range, ex->logical_end ());
577580 } else {
578581 // disjointed, new extent needed
579582 Extent *le = new Extent (
580583 map_begin, in_blob_offset, map_end - map_begin, ex->blob );
581584 dout (20 ) << __func__ << " new extent " << le->print (pp_mode) << dendl;
582585 onode->extent_map .extent_map .insert (*le);
586+ right_affected_range = std::max (right_affected_range, le->logical_end ());
583587 }
584588 }
585589}
@@ -1404,8 +1408,6 @@ void BlueStore::Writer::do_write(
14041408 _collect_released_allocated ();
14051409 // update statfs
14061410 txc->statfs_delta += statfs_delta;
1407- onode->extent_map .dirty_range (location, data_end-location);
1408- onode->extent_map .maybe_reshard (location, data_end);
14091411 // note: compress extent is not needed; _try_reuse_allocated_* joins extents if possible
14101412 // in other cases new blobs cannot be joined with existing ones
14111413 dout (25 ) << " result: " << std::endl << onode->print (pp_mode) << dendl;
0 commit comments