Transaction &t, paddr_t addr, extent_len_t length)
{
LOG_PREFIX(Cache::retire_extent_addr);
- TRACET("retire {}~{}", t, addr, length);
+ TRACET("retire {}~0x{:x}", t, addr, length);
assert(addr.is_real() && !addr.is_block_relative());
CachedExtentRef ext;
auto result = t.get_extent(addr, &ext);
if (result == Transaction::get_extent_ret::PRESENT) {
- DEBUGT("retire {}~{} on t -- {}", t, addr, length, *ext);
+ DEBUGT("retire {}~0x{:x} on t -- {}", t, addr, length, *ext);
t.add_to_retired_set(CachedExtentRef(&*ext));
return retire_extent_iertr::now();
} else if (result == Transaction::get_extent_ret::RETIRED) {
- ERRORT("retire {}~{} failed, already retired -- {}", t, addr, length, *ext);
+ ERRORT("retire {}~0x{:x} failed, already retired -- {}", t, addr, length, *ext);
ceph_abort();
}
// retiring is not included by the cache hit metrics
ext = query_cache(addr);
if (ext) {
- DEBUGT("retire {}~{} in cache -- {}", t, addr, length, *ext);
+ DEBUGT("retire {}~0x{:x} in cache -- {}", t, addr, length, *ext);
} else {
// add a new placeholder to Cache
ext = CachedExtent::make_cached_extent_ref<
PLACEMENT_HINT_NULL,
NULL_GENERATION,
TRANS_ID_NULL);
- DEBUGT("retire {}~{} as placeholder, add extent -- {}",
+ DEBUGT("retire {}~0x{:x} as placeholder, add extent -- {}",
t, addr, length, *ext);
add_extent(ext);
}
PLACEMENT_HINT_NULL,
NULL_GENERATION,
TRANS_ID_NULL);
- DEBUGT("retire {}~{} as placeholder, add extent -- {}",
+ DEBUGT("retire {}~0x{:x} as placeholder, add extent -- {}",
t, addr, length, *ext);
add_extent(ext);
t.add_to_read_set(ext);
)
{
LOG_PREFIX(Cache::alloc_new_extent_by_type);
- SUBDEBUGT(seastore_cache, "allocate {} {}B, hint={}, gen={}",
+ SUBDEBUGT(seastore_cache, "allocate {} 0x{:x}B, hint={}, gen={}",
t, type, length, hint, rewrite_gen_printer_t{gen});
ceph_assert(get_extent_category(type) == data_category_t::METADATA);
switch (type) {
)
{
LOG_PREFIX(Cache::alloc_new_data_extents_by_type);
- SUBDEBUGT(seastore_cache, "allocate {} {}B, hint={}, gen={}",
+ SUBDEBUGT(seastore_cache, "allocate {} 0x{:x}B, hint={}, gen={}",
t, type, length, hint, rewrite_gen_printer_t{gen});
ceph_assert(get_extent_category(type) == data_category_t::DATA);
std::vector<CachedExtentRef> res;
touch_extent(*i, &t_src);
epm.commit_space_used(i->get_paddr(), i->get_length());
if (is_backref_mapped_extent_node(i)) {
- DEBUGT("backref_list new {} len {}",
+ DEBUGT("backref_list new {} len 0x{:x}",
t,
i->get_paddr(),
i->get_length());
extent->dirty_from_or_retired_at = start_seq;
if (is_backref_mapped_extent_node(extent) ||
is_retired_placeholder_type(extent->get_type())) {
- DEBUGT("backref_list free {} len {}",
+ DEBUGT("backref_list free {} len 0x{:x}",
t,
extent->get_paddr(),
extent->get_length());
} else {
assert(i->state == CachedExtent::extent_state_t::DIRTY);
}
- DEBUGT("backref_list new existing {} len {}",
+ DEBUGT("backref_list new existing {} len 0x{:x}",
t,
i->get_paddr(),
i->get_length());
assert(alloc_blk.paddr.is_record_relative());
alloc_blk.paddr = record_base.add_relative(alloc_blk.paddr);
}
- DEBUG("replay alloc_blk {}~{} {}, journal_seq: {}",
+ DEBUG("replay alloc_blk {}~0x{:x} {}, journal_seq: {}",
alloc_blk.paddr, alloc_blk.len, alloc_blk.laddr, journal_seq);
backref_list.emplace_back(
std::make_unique<backref_entry_t>(
CachedExtentRef>(ret);
});
} else {
- SUBDEBUGT(seastore_cache, "{} {} is present on t -- {}"
- " without being fully loaded", t, type, offset, *ret);
+ SUBDEBUGT(seastore_cache,
+ "{} {} is present on t -- {} without fully loaded",
+ t, type, offset, *ret);
return get_extent_if_cached_iertr::make_ready_future<
CachedExtentRef>();
}
if (!ret->is_fully_loaded()) {
// ignore non-full extent
- SUBDEBUGT(seastore_cache, "{} {} is present without "
- "being fully loaded", t, type, offset);
+ SUBDEBUGT(seastore_cache,
+ "{} {} is present without fully loaded", t, type, offset);
return get_extent_if_cached_iertr::make_ready_future<CachedExtentRef>();
}
LOG_PREFIX(Cache::get_caching_extent);
auto result = t.get_extent(offset, &ret);
if (result == Transaction::get_extent_ret::RETIRED) {
- SUBERRORT(seastore_cache, "{} {}~{} is retired on t -- {}",
+ SUBERRORT(seastore_cache, "{} {}~0x{:x} is retired on t -- {}",
t, T::TYPE, offset, length, *ret);
ceph_abort("impossible");
} else if (result == Transaction::get_extent_ret::PRESENT) {
assert(ret->get_length() == length);
if (ret->is_fully_loaded()) {
- SUBTRACET(seastore_cache, "{} {}~{} is present on t -- {}",
+ SUBTRACET(seastore_cache, "{} {}~0x{:x} is present on t -- {}",
t, T::TYPE, offset, length, *ret);
return ret->wait_io().then([ret] {
return seastar::make_ready_future<TCachedExtentRef<T>>(
});
} else {
assert(!ret->is_mutable());
- SUBDEBUGT(seastore_cache, "{} {}~{} is present on t without been \
- fully loaded, reading ... {}", t, T::TYPE, offset, length, *ret);
+ SUBDEBUGT(seastore_cache,
+ "{} {}~0x{:x} is present on t without fully loaded, reading ... -- {}",
+ t, T::TYPE, offset, length, *ret);
auto bp = create_extent_ptr_rand(ret->get_length());
ret->set_bptr(std::move(bp));
return read_extent<T>(
ret->cast<T>());
}
} else {
- SUBTRACET(seastore_cache, "{} {}~{} is absent on t, query cache ...",
+ SUBTRACET(seastore_cache, "{} {}~0x{:x} is absent on t, query cache ...",
t, T::TYPE, offset, length);
auto f = [&t, this](CachedExtent &ext) {
t.add_to_read_set(CachedExtentRef(&ext));
}
#endif
- SUBTRACET(seastore_cache, "{} {}~{} is absent on t, query cache ...",
+ SUBTRACET(seastore_cache, "{} {}~0x{:x} is absent on t, query cache ...",
t, T::TYPE, offset, length);
auto f = [&t, this](CachedExtent &ext) {
// FIXME: assert(ext.is_stable_clean());
++stats.access.s.load_present;
LOG_PREFIX(Cache::get_extent_viewable_by_trans);
SUBDEBUG(seastore_cache,
- "{} {}~{} is present without been fully loaded, reading ... -- {}",
- p_extent->get_type(), p_extent->get_paddr(),p_extent->get_length(),
+ "{} {}~0x{:x} is present without fully loaded, reading ... -- {}",
+ p_extent->get_type(), p_extent->get_paddr(), p_extent->get_length(),
*p_extent);
auto bp = create_extent_ptr_rand(p_extent->get_length());
p_extent->set_bptr(std::move(bp));
NULL_GENERATION,
TRANS_ID_NULL);
SUBDEBUG(seastore_cache,
- "{} {}~{} is absent, add extent and reading ... -- {}",
+ "{} {}~0x{:x} is absent, add extent and reading ... -- {}",
T::TYPE, offset, length, *ret);
add_extent(ret);
// touch_extent() should be included in on_cache
NULL_GENERATION,
TRANS_ID_NULL);
SUBDEBUG(seastore_cache,
- "{} {}~{} is absent(placeholder), reading ... -- {}",
+ "{} {}~0x{:x} is absent(placeholder), add extent and reading ... -- {}",
T::TYPE, offset, length, *ret);
extents_index.replace(*ret, *cached);
on_cache(*ret);
on_cache(*ret);
if (ret->is_fully_loaded()) {
SUBTRACE(seastore_cache,
- "{} {}~{} is present in cache -- {}",
+ "{} {}~0x{:x} is present in cache -- {}",
T::TYPE, offset, length, *ret);
return ret->wait_io().then([ret] {
// ret may be invalid, caller must check
});
} else {
SUBDEBUG(seastore_cache,
- "{} {}~{} is present without been fully loaded, reading ... -- {}",
+ "{} {}~0x{:x} is present without fully loaded, reading ... -- {}",
T::TYPE, offset, length, *ret);
auto bp = create_extent_ptr_rand(length);
ret->set_bptr(std::move(bp));
CachedExtentRef ret;
auto status = t.get_extent(offset, &ret);
if (status == Transaction::get_extent_ret::RETIRED) {
- SUBERRORT(seastore_cache, "{} {}~{} {} is retired on t -- {}",
+ SUBERRORT(seastore_cache, "{} {}~0x{:x} {} is retired on t -- {}",
t, type, offset, length, laddr, *ret);
ceph_abort("impossible");
} else if (status == Transaction::get_extent_ret::PRESENT) {
assert(ret->get_length() == length);
if (ret->is_fully_loaded()) {
- SUBTRACET(seastore_cache, "{} {}~{} {} is present on t -- {}",
+ SUBTRACET(seastore_cache, "{} {}~0x{:x} {} is present on t -- {}",
t, type, offset, length, laddr, *ret);
return ret->wait_io().then([ret] {
return seastar::make_ready_future<CachedExtentRef>(ret);
});
} else {
assert(!ret->is_mutable());
- SUBDEBUGT(seastore_cache, "{} {}~{} {} is present on t without been \
- fully loaded, reading ...", t, type, offset, length, laddr);
+ SUBDEBUGT(seastore_cache,
+ "{} {}~0x{:x} {} is present on t without fully loaded, reading ... -- {}",
+ t, type, offset, length, laddr, *ret);
auto bp = create_extent_ptr_rand(ret->get_length());
ret->set_bptr(std::move(bp));
return read_extent<CachedExtent>(
std::move(ret));
}
} else {
- SUBTRACET(seastore_cache, "{} {}~{} {} is absent on t, query cache ...",
+ SUBTRACET(seastore_cache, "{} {}~0x{:x} {} is absent on t, query cache ...",
t, type, offset, length, laddr);
auto f = [&t, this](CachedExtent &ext) {
t.add_to_read_set(CachedExtentRef(&ext));
}
#endif
- SUBTRACET(seastore_cache, "{} {}~{} {} is absent on t, query cache ...",
+ SUBTRACET(seastore_cache, "{} {}~0x{:x} {} is absent on t, query cache ...",
t, type, offset, length, laddr);
auto f = [&t, this](CachedExtent &ext) {
// FIXME: assert(ext.is_stable_clean());
#endif
) {
LOG_PREFIX(Cache::alloc_new_non_data_extent);
- SUBTRACET(seastore_cache, "allocate {} {}B, hint={}, gen={}",
+ SUBTRACET(seastore_cache, "allocate {} 0x{:x}B, hint={}, gen={}",
t, T::TYPE, length, hint, rewrite_gen_printer_t{gen});
#ifdef UNIT_TESTS_BUILT
auto result = epm.alloc_new_non_data_extent(t, T::TYPE, length, hint, gen, epaddr);
t.get_trans_id());
t.add_fresh_extent(ret);
SUBDEBUGT(seastore_cache,
- "allocated {} {}B extent at {}, hint={}, gen={} -- {}",
+ "allocated {} 0x{:x}B extent at {}, hint={}, gen={} -- {}",
t, T::TYPE, length, result->paddr,
hint, rewrite_gen_printer_t{result->gen}, *ret);
return ret;
#endif
) {
LOG_PREFIX(Cache::alloc_new_data_extents);
- SUBTRACET(seastore_cache, "allocate {} {}B, hint={}, gen={}",
+ SUBTRACET(seastore_cache, "allocate {} 0x{:x}B, hint={}, gen={}",
t, T::TYPE, length, hint, rewrite_gen_printer_t{gen});
#ifdef UNIT_TESTS_BUILT
auto results = epm.alloc_new_data_extents(t, T::TYPE, length, hint, gen, epaddr);
t.get_trans_id());
t.add_fresh_extent(ret);
SUBDEBUGT(seastore_cache,
- "allocated {} {}B extent at {}, hint={}, gen={} -- {}",
+ "allocated {} 0x{:x}B extent at {}, hint={}, gen={} -- {}",
t, T::TYPE, length, result.paddr,
hint, rewrite_gen_printer_t{result.gen}, *ret);
extents.emplace_back(std::move(ret));
auto extent = ext->template cast<T>();
extent->set_laddr(remap_laddr);
t.add_fresh_extent(ext);
- SUBTRACET(seastore_cache, "allocated {} {}B, hint={}, has ptr? {} -- {}",
+ SUBTRACET(seastore_cache, "allocated {} 0x{:x}B, hint={}, has ptr? {} -- {}",
t, T::TYPE, remap_length, remap_laddr, original_bptr.has_value(), *extent);
return extent;
}