c.trans.new_lba_key_copied(
ret.src->get_key(),
dest_laddr,
- [this](Transaction &t, laddr_t laddr, paddr_t paddr) {
- update_paddr_sync(t, laddr, paddr);
+ [this, c](laddr_t laddr, paddr_t paddr) {
+ update_paddr_sync(c.trans, laddr, paddr);
});
auto [niter, inserted] = co_await btree.copy(
c,
bool force_rewrite_conflict = false;
using update_copied_lba_key_func_t =
- std::function<void (Transaction&, laddr_t, paddr_t)>;
+ std::function<void (laddr_t, paddr_t)>;
void new_lba_key_copied(
laddr_t src,
laddr_t dest,
return;
}
laddr_t key = it->second;
- update_copied_lba_key(*this, key, paddr);
+ update_copied_lba_key(key, paddr);
}
RootBlockRef peek_root() {
return root;
cache_hint_t cache_hint = CACHE_HINT_TOUCH;
std::map<laddr_t, laddr_t> copied_lba_keys;
- std::function<void (Transaction&, laddr_t, paddr_t)> update_copied_lba_key;
+ update_copied_lba_key_func_t update_copied_lba_key;
};
using TransactionRef = Transaction::Ref;