ceph_assert(alloc_info.val.is_paddr());
assert(alloc_info.val == iter.get_val().pladdr);
assert(alloc_info.len == iter.get_val().len);
+ assert(alloc_info.extent->is_logical());
if (alloc_info.extent->has_laddr()) {
+ // see TM::remap_pin()
assert(alloc_info.key == alloc_info.extent->get_laddr());
assert(alloc_info.key == iter.get_key());
} else {
+ // see TM::alloc_non_data_extent()
+ // TM::alloc_data_extents()
alloc_info.extent->set_laddr(iter.get_key());
}
- alloc_info.extent->set_laddr(iter.get_key());
}
ceph_assert(inserted);
rets.emplace_back(iter.get_pin(c));
).si_then([this, FNAME, &t, offset, length] (auto pin)
-> read_extent_ret<T> {
if (length != pin->get_length() || !pin->get_val().is_real()) {
- SUBERRORT(seastore_tm, "{}~0x{:x} {} got wrong {}",
+ SUBERRORT(seastore_tm, "{}~0x{:x} {} got wrong pin {}",
t, offset, length, T::TYPE, *pin);
- ceph_assert(0 == "Should be impossible");
+ ceph_abort("Impossible");
}
return this->read_pin<T>(t, std::move(pin));
});
).si_then([this, FNAME, &t, offset] (auto pin)
-> read_extent_ret<T> {
if (!pin->get_val().is_real()) {
- SUBERRORT(seastore_tm, "{} {} got wrong {}",
+ SUBERRORT(seastore_tm, "{} {} got wrong pin {}",
t, offset, T::TYPE, *pin);
- ceph_assert(0 == "Should be impossible");
+ ceph_abort("Impossible");
}
return this->read_pin<T>(t, std::move(pin));
});