From: Samuel Just Date: Sat, 20 Mar 2021 03:09:18 +0000 (-0700) Subject: crimson/os/seastore: more debugging X-Git-Tag: v17.1.0~2478^2~9 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=a547a8bf53e323a2a63252baae4ea8ad75457d6d;p=ceph.git crimson/os/seastore: more debugging Signed-off-by: Samuel Just --- diff --git a/src/crimson/os/seastore/journal.cc b/src/crimson/os/seastore/journal.cc index f15e8901939..f2b5a7b97ee 100644 --- a/src/crimson/os/seastore/journal.cc +++ b/src/crimson/os/seastore/journal.cc @@ -28,6 +28,16 @@ std::ostream &operator<<(std::ostream &out, const segment_header_t &header) << ")"; } + +std::ostream &operator<<(std::ostream &out, const extent_info_t &info) +{ + return out << "extent_info_t(" + << " type: " << info.type + << " addr: " << info.addr + << " len: " << info.len + << ")"; +} + segment_nonce_t generate_nonce( segment_seq_t seq, const seastore_meta_t &meta) diff --git a/src/crimson/os/seastore/journal.h b/src/crimson/os/seastore/journal.h index 8def2be3a4a..9031d9b1acb 100644 --- a/src/crimson/os/seastore/journal.h +++ b/src/crimson/os/seastore/journal.h @@ -91,6 +91,7 @@ struct extent_info_t { DENC_FINISH(p); } }; +std::ostream &operator<<(std::ostream &out, const extent_info_t &header); /** * Callback interface for managing available segments diff --git a/src/crimson/os/seastore/lba_manager/btree/btree_lba_manager.cc b/src/crimson/os/seastore/lba_manager/btree/btree_lba_manager.cc index 8509825baf6..aa9fea07904 100644 --- a/src/crimson/os/seastore/lba_manager/btree/btree_lba_manager.cc +++ b/src/crimson/os/seastore/lba_manager/btree/btree_lba_manager.cc @@ -346,10 +346,18 @@ BtreeLBAManager::rewrite_extent_ret BtreeLBAManager::rewrite_extent( CachedExtentRef extent) { if (extent->has_been_invalidated()) { - logger().debug("BTreeLBAManager::rewrite_extent: {} is invalid, returning eagain"); + logger().debug( + "BTreeLBAManager::rewrite_extent: {} is invalid, returning eagain", + *extent + ); return crimson::ct_error::eagain::make(); } + logger().debug( + "{}: rewriting {}", + __func__, + *extent); + if (extent->is_logical()) { auto lextent = extent->cast(); cache.retire_extent(t, extent); diff --git a/src/crimson/os/seastore/segment_cleaner.cc b/src/crimson/os/seastore/segment_cleaner.cc index d47ab212471..fe8954a0bf7 100644 --- a/src/crimson/os/seastore/segment_cleaner.cc +++ b/src/crimson/os/seastore/segment_cleaner.cc @@ -305,6 +305,9 @@ SegmentCleaner::gc_reclaim_space_ret SegmentCleaner::gc_reclaim_space() std::move(_extents), [this](auto &extents) { return repeat_eagain([this, &extents]() mutable { + logger().debug( + "SegmentCleaner::gc_reclaim_space: processing {} extents", + extents.size()); return seastar::do_with( make_transaction(), [this, &extents](auto &t) mutable { diff --git a/src/crimson/os/seastore/transaction_manager.cc b/src/crimson/os/seastore/transaction_manager.cc index 3e530869349..15c1af7c947 100644 --- a/src/crimson/os/seastore/transaction_manager.cc +++ b/src/crimson/os/seastore/transaction_manager.cc @@ -290,6 +290,13 @@ TransactionManager::get_extent_if_live_ret TransactionManager::get_extent_if_liv laddr_t laddr, segment_off_t len) { + logger().debug( + "TransactionManager::get_extent_if_live:" + " type {}, addr {}, laddr {}, len {}", + type, + addr, + laddr, + len); CachedExtentRef ret; auto status = cache->get_extent_if_cached(t, addr, &ret); if (status != Transaction::get_extent_ret::ABSENT) {