From 02acc0a71891ccadff68c60eaaf65bfa2c8bab4c Mon Sep 17 00:00:00 2001 From: Xuehan Xu Date: Mon, 22 Apr 2024 18:11:55 +0800 Subject: [PATCH] test/crimson/seastore/test_object_data_handler: remap pins through the transaction that created the pins Fixes: https://tracker.ceph.com/issues/65610 Signed-off-by: Xuehan Xu --- src/test/crimson/seastore/test_object_data_handler.cc | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/test/crimson/seastore/test_object_data_handler.cc b/src/test/crimson/seastore/test_object_data_handler.cc index 3066ac4592106..aa05fd5e2cd36 100644 --- a/src/test/crimson/seastore/test_object_data_handler.cc +++ b/src/test/crimson/seastore/test_object_data_handler.cc @@ -213,6 +213,15 @@ struct object_data_handler_test_t: } } } + std::list get_mappings( + Transaction &t, + objaddr_t offset, + extent_len_t length) { + auto ret = with_trans_intr(t, [&](auto &t) { + return tm->get_pins(t, offset, length); + }).unsafe_get0(); + return ret; + } std::list get_mappings(objaddr_t offset, extent_len_t length) { auto t = create_mutate_transaction(); auto ret = with_trans_intr(*t, [&](auto &t) { @@ -758,7 +767,7 @@ TEST_P(object_data_handler_test_t, overwrite_then_read_within_transaction) { t = create_mutate_transaction(); { - auto pins = get_mappings(base, len); + auto pins = get_mappings(*t, base, len); assert(pins.size() == 1); auto pin1 = remap_pin(*t, std::move(pins.front()), 4096, 8192); auto ext = get_extent(*t, base + 4096, 4096 * 2); -- 2.39.5