From: Xuehan Xu Date: Mon, 8 Dec 2025 07:57:41 +0000 (+0800) Subject: fixup! crimson/os/seastore/btree_types: BtreeCursors don't hold local copies of lba... X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=4dcc98eb4aed71465a462ec402c502bb5829fbe2;p=ceph-ci.git fixup! crimson/os/seastore/btree_types: BtreeCursors don't hold local copies of lba/backref values --- diff --git a/src/crimson/os/seastore/object_data_handler.cc b/src/crimson/os/seastore/object_data_handler.cc index 871780288ba..4f7cd2e2927 100644 --- a/src/crimson/os/seastore/object_data_handler.cc +++ b/src/crimson/os/seastore/object_data_handler.cc @@ -972,14 +972,19 @@ ObjectDataHandler::punch_multi_mapping_hole( LBAMapping left_mapping, op_type_t op_type) { - return punch_left_mapping( - ctx, overwrite_range, data, std::move(left_mapping), op_type - ).si_then([this, ctx, &overwrite_range](auto mapping) { - return punch_inner_mappings(ctx, overwrite_range, std::move(mapping)); - }).si_then([this, ctx, &overwrite_range, &data, op_type](auto mapping) { - return punch_right_mapping( + auto mapping = co_await punch_left_mapping( + ctx, overwrite_range, data, std::move(left_mapping), op_type); + if (overwrite_range.clonerange_info.has_value()) { + co_await overwrite_range.clonerange_info->refresh(); + } + mapping = co_await punch_inner_mappings( + ctx, overwrite_range, std::move(mapping)); + if (overwrite_range.clonerange_info.has_value()) { + co_await overwrite_range.clonerange_info->refresh(); + } + mapping = co_await punch_right_mapping( ctx, overwrite_range, data, std::move(mapping), op_type); - }); + co_return mapping; } ObjectDataHandler::write_ret diff --git a/src/crimson/tools/store_nbd/tm_driver.cc b/src/crimson/tools/store_nbd/tm_driver.cc index d70edda030a..6a2f8059c6a 100644 --- a/src/crimson/tools/store_nbd/tm_driver.cc +++ b/src/crimson/tools/store_nbd/tm_driver.cc @@ -76,10 +76,7 @@ TMDriver::read_extents_ret TMDriver::read_extents( pins.begin(), pins.end(), [this, &t, &ret](auto &&pin) { - logger().debug( - "read_extents: get_extent {}~{}", - pin.get_val(), - pin.get_length()); + logger().debug("read_extents: get_extent {}", pin); return tm->read_pin( t, std::move(pin)