ref_ret decref_extent(
Transaction &t,
- laddr_t addr,
- bool cascade_remove) final {
- return update_refcount(t, addr, -1, cascade_remove
+ laddr_t addr) final {
+ return update_refcount(t, addr, -1, true
).si_then([](auto res) {
return std::move(res.ref_update_res);
});
{
LOG_PREFIX(TransactionManager::remove);
TRACET("{}", t, *ref);
- return lba_manager->decref_extent(t, ref->get_laddr(), true
+ return lba_manager->decref_extent(t, ref->get_laddr()
).si_then([this, FNAME, &t, ref](auto result) {
DEBUGT("extent refcount is decremented to {} -- {}",
t, result.refcount, *ref);
TransactionManager::ref_ret TransactionManager::_dec_ref(
Transaction &t,
- laddr_t offset,
- bool cascade_remove)
+ laddr_t offset)
{
LOG_PREFIX(TransactionManager::_dec_ref);
TRACET("{}", t, offset);
- return lba_manager->decref_extent(t, offset, cascade_remove
+ return lba_manager->decref_extent(t, offset
).si_then([this, FNAME, offset, &t](auto result) -> ref_ret {
DEBUGT("extent refcount is decremented to {} -- {}~{}, {}",
t, result.refcount, offset, result.length, result.addr);
ref_ret remove(
Transaction &t,
laddr_t offset) {
- return _dec_ref(t, offset, true);
+ return _dec_ref(t, offset);
}
/// remove refcount for list of offset
/// Remove refcount for offset
ref_ret _dec_ref(
Transaction &t,
- laddr_t offset,
- bool cascade_remove);
+ laddr_t offset);
using update_lba_mappings_ret = LBAManager::update_mappings_ret;
update_lba_mappings_ret update_lba_mappings(
[=, this](auto &t) {
return lba_manager->decref_extent(
t,
- target->first,
- true
+ target->first
).si_then([this, &t, target](auto result) {
EXPECT_EQ(result.refcount, target->second.refcount);
if (result.refcount == 0) {