From cda2490b5076ede53311fa603012d68213308160 Mon Sep 17 00:00:00 2001 From: xuxuehan Date: Fri, 26 May 2023 16:03:59 +0800 Subject: [PATCH] crimson/os/seastore: debug outputs Signed-off-by: xuxuehan (cherry picked from commit 6a583aad13e5fc26bbfc7374b6c292f0dc77b662) --- src/crimson/os/seastore/cache.h | 6 +++--- src/crimson/os/seastore/cached_extent.h | 1 + src/crimson/os/seastore/object_data_handler.cc | 1 + src/crimson/os/seastore/seastore.cc | 15 +++++++++++++++ 4 files changed, 20 insertions(+), 3 deletions(-) diff --git a/src/crimson/os/seastore/cache.h b/src/crimson/os/seastore/cache.h index 2981330a1781a..1820d758a0ba7 100644 --- a/src/crimson/os/seastore/cache.h +++ b/src/crimson/os/seastore/cache.h @@ -469,7 +469,7 @@ public: } else { touch_extent(*ret); SUBDEBUGT(seastore_cache, "{} {}~{} is present on t without been \ - fully loaded, reading ...", t, T::TYPE, offset, length); + fully loaded, reading ... {}", t, T::TYPE, offset, length, *ret); auto bp = alloc_cache_buf(ret->get_length()); ret->set_bptr(std::move(bp)); return read_extent( @@ -910,8 +910,6 @@ public: laddr_t original_laddr, std::optional &&original_bptr) { LOG_PREFIX(Cache::alloc_remapped_extent); - SUBTRACET(seastore_cache, "allocate {} {}B, hint={}", - t, T::TYPE, remap_length, remap_laddr); assert(remap_laddr >= original_laddr); TCachedExtentRef ext; if (original_bptr.has_value()) { @@ -934,6 +932,8 @@ public: t.get_trans_id()); t.add_fresh_extent(ext); + SUBTRACET(seastore_cache, "allocated {} {}B, hint={}, has ptr? {} -- {}", + t, T::TYPE, remap_length, remap_laddr, original_bptr.has_value(), *ext); return ext; } diff --git a/src/crimson/os/seastore/cached_extent.h b/src/crimson/os/seastore/cached_extent.h index 0940cc1a05b6b..497d7dcfcdc53 100644 --- a/src/crimson/os/seastore/cached_extent.h +++ b/src/crimson/os/seastore/cached_extent.h @@ -340,6 +340,7 @@ public: << ", last_committed_crc=" << last_committed_crc << ", refcount=" << use_count() << ", user_hint=" << user_hint + << ", fully_loaded=" << is_fully_loaded() << ", rewrite_gen=" << rewrite_gen_printer_t{rewrite_generation}; if (state != extent_state_t::INVALID && state != extent_state_t::CLEAN_PENDING) { diff --git a/src/crimson/os/seastore/object_data_handler.cc b/src/crimson/os/seastore/object_data_handler.cc index b6bcf59672a3a..0d852696b7144 100644 --- a/src/crimson/os/seastore/object_data_handler.cc +++ b/src/crimson/os/seastore/object_data_handler.cc @@ -1369,6 +1369,7 @@ ObjectDataHandler::read_ret ObjectDataHandler::read( current = end; return seastar::now(); } else { + LOG_PREFIX(ObjectDataHandler::read); auto key = pin->get_key(); bool is_indirect = pin->is_indirect(); extent_len_t off = pin->get_intermediate_offset(); diff --git a/src/crimson/os/seastore/seastore.cc b/src/crimson/os/seastore/seastore.cc index beed4e69280be..897a063e0fe63 100644 --- a/src/crimson/os/seastore/seastore.cc +++ b/src/crimson/os/seastore/seastore.cc @@ -1196,6 +1196,17 @@ seastar::future<> SeaStore::Shard::do_transaction_no_callbacks( op_type_t::TRANSACTION, [this](auto &ctx) { return with_trans_intr(*ctx.transaction, [&, this](auto &t) { +#ifndef NDEBUG + LOG_PREFIX(SeaStore::Shard::do_transaction_no_callbacks); + TRACET(" transaction dump:\n", t); + JSONFormatter f(true); + f.open_object_section("transaction"); + ctx.ext_transaction.dump(&f); + f.close_section(); + std::stringstream str; + f.flush(str); + TRACET("{}", t, str.str()); +#endif return seastar::do_with( std::vector(ctx.iter.objects.size()), std::vector(ctx.iter.objects.size()), @@ -1415,6 +1426,10 @@ SeaStore::Shard::_do_transaction_step( } case Transaction::OP_CLONE: { + TRACET("cloning {} to {}", + *ctx.transaction, + i.get_oid(op->oid), + i.get_oid(op->dest_oid)); return _clone(ctx, onodes[op->oid], d_onodes[op->dest_oid]); } default: -- 2.39.5