Skip to content

Commit 1627e38

Browse files
committed
test/crimson/seastore/test_object_data_handler: always access object
data based on offsets relative to the start of the object data base Signed-off-by: Xuehan Xu <[email protected]>
1 parent b6bdebe commit 1627e38

File tree

1 file changed

+17
-7
lines changed

1 file changed

+17
-7
lines changed

src/test/crimson/seastore/test_object_data_handler.cc

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -218,14 +218,20 @@ struct object_data_handler_test_t:
218218
objaddr_t offset,
219219
extent_len_t length) {
220220
auto ret = with_trans_intr(t, [&](auto &t) {
221-
return tm->get_pins(t, laddr_t::from_byte_offset(offset), length);
221+
auto &layout = onode->get_layout();
222+
auto odata = layout.object_data.get();
223+
auto obase = odata.get_reserved_data_base();
224+
return tm->get_pins(t, (obase + offset).checked_to_laddr(), length);
222225
}).unsafe_get();
223226
return ret;
224227
}
225228
std::list<LBAMappingRef> get_mappings(objaddr_t offset, extent_len_t length) {
226229
auto t = create_mutate_transaction();
227230
auto ret = with_trans_intr(*t, [&](auto &t) {
228-
return tm->get_pins(t, laddr_t::from_byte_offset(offset), length);
231+
auto &layout = onode->get_layout();
232+
auto odata = layout.object_data.get();
233+
auto obase = odata.get_reserved_data_base();
234+
return tm->get_pins(t, (obase + offset).checked_to_laddr(), length);
229235
}).unsafe_get();
230236
return ret;
231237
}
@@ -253,12 +259,16 @@ struct object_data_handler_test_t:
253259

254260
ObjectDataBlockRef get_extent(
255261
Transaction &t,
256-
laddr_t addr,
262+
loffset_t addr,
257263
extent_len_t len) {
264+
auto &layout = onode->get_layout();
265+
auto odata = layout.object_data.get();
266+
auto obase = odata.get_reserved_data_base();
258267
auto ext = with_trans_intr(t, [&](auto& trans) {
259-
return tm->read_extent<ObjectDataBlock>(trans, addr, len);
260-
}).unsafe_get();
261-
EXPECT_EQ(addr, ext->get_laddr());
268+
return tm->read_extent<ObjectDataBlock>(
269+
trans, (obase + addr).checked_to_laddr(), len);
270+
}).unsafe_get();
271+
EXPECT_EQ((obase + addr).checked_to_laddr(), ext->get_laddr());
262272
return ext;
263273
}
264274

@@ -798,7 +808,7 @@ TEST_P(object_data_handler_test_t, overwrite_then_read_within_transaction) {
798808
auto pins = get_mappings(*t, base, len);
799809
assert(pins.size() == 1);
800810
auto pin1 = remap_pin(*t, std::move(pins.front()), 4096, 8192);
801-
auto ext = get_extent(*t, laddr_t::from_byte_offset(base + 4096), 4096 * 2);
811+
auto ext = get_extent(*t, base + 4096, 4096 * 2);
802812
ASSERT_TRUE(ext->is_exist_clean());
803813
write(*t, base + 4096, 4096, 'y');
804814
ASSERT_TRUE(ext->is_exist_mutation_pending());

0 commit comments

Comments
 (0)