Transaction &t,
laddr_t addr) = 0;
- struct remap_entry {
+ struct remap_entry_t {
extent_len_t offset;
extent_len_t len;
- remap_entry(extent_len_t _offset, extent_len_t _len) {
+ remap_entry_t(extent_len_t _offset, extent_len_t _len) {
offset = _offset;
len = _len;
}
virtual remap_ret remap_mappings(
Transaction &t,
LBAMappingRef orig_mapping,
- std::vector<remap_entry> remaps,
+ std::vector<remap_entry_t> remaps,
std::vector<LogicalChildNodeRef> extents // Required if and only
// if pin isn't indirect
) = 0;
remap_ret remap_mappings(
Transaction &t,
LBAMappingRef orig_mapping,
- std::vector<remap_entry> remaps,
+ std::vector<remap_entry_t> remaps,
std::vector<LogicalChildNodeRef> extents) final {
LOG_PREFIX(BtreeLBAManager::remap_mappings);
assert((orig_mapping->is_indirect())
return type == type_t::OVERWRITE;
}
- using remap_entry = TransactionManager::remap_entry;
- remap_entry create_remap_entry() {
+ using remap_entry_t = TransactionManager::remap_entry_t;
+ remap_entry_t create_remap_entry() {
assert(is_remap1());
- return remap_entry(
+ return remap_entry_t(
new_offset,
new_len);
}
- remap_entry create_left_remap_entry() {
+ remap_entry_t create_left_remap_entry() {
assert(is_remap2());
- return remap_entry(
+ return remap_entry_t(
0,
new_offset);
}
- remap_entry create_right_remap_entry() {
+ remap_entry_t create_right_remap_entry() {
assert(is_remap2());
- return remap_entry(
+ return remap_entry_t(
new_offset + new_len,
pin->get_length() - new_offset - new_len);
}
* Remap original extent to new extents.
* Return the pins of new extent.
*/
- using remap_entry = LBAManager::remap_entry;
+ using remap_entry_t = LBAManager::remap_entry_t;
using remap_pin_iertr = base_iertr;
using remap_pin_ret = remap_pin_iertr::future<std::vector<LBAMappingRef>>;
template <typename T, std::size_t N>
remap_pin_ret remap_pin(
Transaction &t,
LBAMappingRef &&pin,
- std::array<remap_entry, N> remaps) {
+ std::array<remap_entry_t, N> remaps) {
static_assert(std::is_base_of_v<LogicalChildNode, T>);
// data extents don't need maybe_init yet, currently,
static_assert(is_data_type(T::TYPE));
#ifndef NDEBUG
std::sort(remaps.begin(), remaps.end(),
- [](remap_entry x, remap_entry y) {
+ [](remap_entry_t x, remap_entry_t y) {
return x.offset < y.offset;
});
auto original_len = pin->get_length();
return lba_manager->remap_mappings(
t,
std::move(pin),
- std::vector<remap_entry>(remaps.begin(), remaps.end()),
+ std::vector<remap_entry_t>(remaps.begin(), remaps.end()),
std::move(extents)
).si_then([FNAME, &t](auto ret) {
SUBDEBUGT(seastore_tm, "remapped {} pins",
return ret;
}
- using remap_entry = TransactionManager::remap_entry;
+ using remap_entry_t = TransactionManager::remap_entry_t;
LBAMappingRef remap_pin(
Transaction &t,
LBAMappingRef &&opin,
auto pin = with_trans_intr(t, [&](auto& trans) {
return tm->remap_pin<ObjectDataBlock>(
trans, std::move(opin), std::array{
- remap_entry(new_offset, new_len)}
+ remap_entry_t(new_offset, new_len)}
).si_then([](auto ret) {
return std::move(ret[0]);
});
});
}
- using remap_entry = TransactionManager::remap_entry;
+ using remap_entry_t = TransactionManager::remap_entry_t;
LBAMappingRef remap_pin(
test_transaction_t &t,
LBAMappingRef &&opin,
auto pin = with_trans_intr(*(t.t), [&](auto& trans) {
return tm->remap_pin<TestBlock>(
trans, std::move(opin), std::array{
- remap_entry(new_offset, new_len)}
+ remap_entry_t(new_offset, new_len)}
).si_then([](auto ret) {
return std::move(ret[0]);
});
t,
std::move(opin),
std::array{
- remap_entry(
+ remap_entry_t(
0,
new_offset),
- remap_entry(
+ remap_entry_t(
new_offset + new_len,
o_len - new_offset - new_len)
}
t,
std::move(opin),
std::array{
- remap_entry(
+ remap_entry_t(
new_offset + new_len,
o_len - new_offset - new_len)
}
t,
std::move(opin),
std::array{
- remap_entry(
+ remap_entry_t(
0,
new_offset)
}