get_by_ext(efforts.retire_by_ext,
extent->get_type()).increment(extent->get_length());
retire_stat.increment(extent->get_length());
- DEBUGT("retired and remove extent -- {}", t, *extent);
+ DEBUGT("retired and remove extent {}~0x{:x} -- {}",
+ t, extent->get_paddr(), extent->get_length(), *extent);
commit_retire_extent(t, extent);
- if (is_backref_mapped_type(extent->get_type()) ||
- is_retired_placeholder_type(extent->get_type())) {
- rel_delta.alloc_blk_ranges.emplace_back(
- alloc_blk_t::create_retire(
- extent->get_paddr(),
- extent->get_length(),
- extent->get_type()));
- }
// Note: commit extents and backref allocations in the same place
if (is_backref_mapped_type(extent->get_type()) ||
is_retired_placeholder_type(extent->get_type())) {
- DEBUGT("backref_entry free {} len 0x{:x}",
+ DEBUGT("backref_entry free {}~0x{:x}",
t,
extent->get_paddr(),
extent->get_length());
+ rel_delta.alloc_blk_ranges.emplace_back(
+ alloc_blk_t::create_retire(
+ extent->get_paddr(),
+ extent->get_length(),
+ extent->get_type()));
backref_entries.emplace_back(
backref_entry_t::create_retire(
extent->get_paddr(),
std::move(bl)
},
modify_time);
- if (i->is_valid() &&
- is_backref_mapped_type(i->get_type())) {
+
+ if (!i->is_valid()) {
+ continue;
+ }
+ if (is_backref_mapped_type(i->get_type())) {
laddr_t alloc_laddr;
if (i->is_logical()) {
alloc_laddr = i->cast<LogicalCachedExtent>()->get_laddr();
// Note: commit extents and backref allocations in the same place
if (is_backref_mapped_type(i->get_type())) {
- DEBUGT("backref_entry alloc {} len 0x{:x}",
+ DEBUGT("backref_entry alloc {}~0x{:x}",
t,
i->get_paddr(),
i->get_length());
epm.mark_space_free(extent->get_paddr(), extent->get_length());
}
for (auto &i: t.existing_block_list) {
- if (i->is_valid()) {
- epm.mark_space_used(i->get_paddr(), i->get_length());
+ if (!i->is_valid()) {
+ continue;
}
+ epm.mark_space_used(i->get_paddr(), i->get_length());
}
for (auto &i: t.mutated_block_list) {
existing_stats.clean_num,
existing_stats.mutated_num);
for (auto &i: t.existing_block_list) {
- if (i->is_valid()) {
- if (i->is_exist_clean()) {
- i->state = CachedExtent::extent_state_t::CLEAN;
- } else {
- assert(i->state == CachedExtent::extent_state_t::DIRTY);
- }
- add_extent(i);
+ if (!i->is_valid()) {
+ continue;
+ }
+ if (i->is_exist_clean()) {
+ i->state = CachedExtent::extent_state_t::CLEAN;
+ } else {
+ assert(i->state == CachedExtent::extent_state_t::DIRTY);
+ }
+ add_extent(i);
- // Note: commit extents and backref allocations in the same place
- DEBUGT("backref_entry alloc existing {} len 0x{:x}",
- t,
- i->get_paddr(),
- i->get_length());
- backref_entries.emplace_back(
- backref_entry_t::create_alloc(
- i->get_paddr(),
- i->cast<LogicalCachedExtent>()->get_laddr(),
- i->get_length(),
- i->get_type()));
- const auto t_src = t.get_src();
- if (i->is_dirty()) {
- add_to_dirty(i, &t_src);
- } else {
- touch_extent(*i, &t_src);
- }
+ // Note: commit extents and backref allocations in the same place
+ DEBUGT("backref_entry alloc existing {} len 0x{:x}",
+ t,
+ i->get_paddr(),
+ i->get_length());
+ backref_entries.emplace_back(
+ backref_entry_t::create_alloc(
+ i->get_paddr(),
+ i->cast<LogicalCachedExtent>()->get_laddr(),
+ i->get_length(),
+ i->get_type()));
+ const auto t_src = t.get_src();
+ if (i->is_dirty()) {
+ add_to_dirty(i, &t_src);
+ } else {
+ touch_extent(*i, &t_src);
}
}