return ObjectDataHandler::write_iertr::now();
});
} else if (region.is_remap2()) {
+ auto pin_key = region.pin->get_key();
return ctx.tm.remap_pin<ObjectDataBlock, 2>(
ctx.t,
std::move(region.pin),
region.create_left_remap_entry(),
region.create_right_remap_entry()
}
- ).si_then([®ion](auto pins) {
+ ).si_then([®ion, pin_key](auto pins) {
ceph_assert(pins.size() == 2);
- ceph_assert(region.pin->get_key() == pins[0]->get_key());
- ceph_assert(region.pin->get_key() + pins[0]->get_length() +
+ ceph_assert(pin_key == pins[0]->get_key());
+ ceph_assert(pin_key + pins[0]->get_length() +
region.new_len == pins[1]->get_key());
return ObjectDataHandler::write_iertr::now();
});
return nullptr;
}
auto o_laddr = opin->get_key();
- auto data_laddr = opin->is_indirect()
+ bool indirect_opin = opin->is_indirect();
+ auto data_laddr = indirect_opin
? opin->get_intermediate_base()
: o_laddr;
auto pin = with_trans_intr(*(t.t), [&](auto& trans) {
if (t.t->is_conflicted()) {
return nullptr;
}
- if (opin->is_indirect()) {
+ if (indirect_opin) {
test_mappings.inc_ref(data_laddr, t.mapping_delta);
} else {
test_mappings.dec_ref(data_laddr, t.mapping_delta);