From 935cc3f9d59a967f8d4b39b83e2a6d9e1a795008 Mon Sep 17 00:00:00 2001 From: Yingxin Cheng Date: Mon, 16 May 2022 17:30:40 +0800 Subject: [PATCH] crimson/os/seastore: adjust logs to FixedKVBtree * Fix the subsys name. * Change FixedKVBtree logs to trace level -- seems too verbose when the global level is debug. Signed-off-by: Yingxin Cheng --- src/common/subsys.h | 2 +- .../os/seastore/btree/fixed_kv_btree.h | 140 +++++++++--------- src/crimson/os/seastore/btree/fixed_kv_node.h | 5 +- 3 files changed, 73 insertions(+), 74 deletions(-) diff --git a/src/common/subsys.h b/src/common/subsys.h index 4fb02b3f875..47ade3f2c8f 100644 --- a/src/common/subsys.h +++ b/src/common/subsys.h @@ -91,7 +91,7 @@ SUBSYS(seastore_tm, 0, 5) // logs below seastore tm SUBSYS(seastore_t, 0, 5) SUBSYS(seastore_cleaner, 0, 5) SUBSYS(seastore_lba, 0, 5) -SUBSYS(seastore_lba_details, 0, 5) +SUBSYS(seastore_fixedkv_tree, 0, 5) SUBSYS(seastore_cache, 0, 5) SUBSYS(seastore_journal, 0, 5) SUBSYS(seastore_device, 0, 5) diff --git a/src/crimson/os/seastore/btree/fixed_kv_btree.h b/src/crimson/os/seastore/btree/fixed_kv_btree.h index 189b50a9d43..29b8e8e9dc3 100644 --- a/src/crimson/os/seastore/btree/fixed_kv_btree.h +++ b/src/crimson/os/seastore/btree/fixed_kv_btree.h @@ -10,7 +10,7 @@ #include "crimson/os/seastore/logging.h" -#include "crimson/os/seastore/lba_manager.h" +#include "crimson/os/seastore/cache.h" #include "crimson/os/seastore/seastore_types.h" #include "crimson/os/seastore/btree/btree_range_pin.h" @@ -346,8 +346,8 @@ public: }, [FNAME, c, addr](const leaf_node_t &leaf) { auto ret = leaf.lower_bound(addr); - SUBDEBUGT( - seastore_lba_details, + SUBTRACET( + seastore_fixedkv_tree, "leaf addr {}, got ret offset {}, size {}, end {}", c.trans, addr, @@ -358,8 +358,8 @@ public: }, visitor ).si_then([FNAME, c](auto &&ret) { - SUBDEBUGT( - seastore_lba_details, + SUBTRACET( + seastore_fixedkv_tree, "ret.leaf.pos {}", c.trans, ret.leaf.pos); @@ -501,8 +501,8 @@ public: node_val_t val ) { LOG_PREFIX(FixedKVBtree::insert); - SUBDEBUGT( - seastore_lba_details, + SUBTRACET( + seastore_fixedkv_tree, "inserting laddr {} at iter {}", c.trans, laddr, @@ -573,8 +573,8 @@ public: node_val_t val) { LOG_PREFIX(FixedKVBtree::update); - SUBDEBUGT( - seastore_lba_details, + SUBTRACET( + seastore_fixedkv_tree, "update element at {}", c.trans, iter.is_end() ? min_max_t::max : iter.get_key()); @@ -609,8 +609,8 @@ public: iterator iter) { LOG_PREFIX(FixedKVBtree::remove); - SUBDEBUGT( - seastore_lba_details, + SUBTRACET( + seastore_fixedkv_tree, "remove element at {}", c.trans, iter.is_end() ? min_max_t::max : iter.get_key()); @@ -650,7 +650,7 @@ public: { assert(!e->is_logical()); LOG_PREFIX(FixedKVTree::init_cached_extent); - SUBDEBUGT(seastore_lba_details, "extent {}", c.trans, *e); + SUBTRACET(seastore_fixedkv_tree, "extent {}", c.trans, *e); if (e->get_type() == internal_node_t::TYPE) { auto eint = e->cast(); return lower_bound( @@ -661,15 +661,15 @@ public: depth_t cand_depth = eint->get_node_meta().depth; if (cand_depth <= iter.get_depth() && &*iter.get_internal(cand_depth).node == &*eint) { - SUBDEBUGT( - seastore_lba_details, + SUBTRACET( + seastore_fixedkv_tree, "extent {} is live", c.trans, *eint); return true; } else { - SUBDEBUGT( - seastore_lba_details, + SUBTRACET( + seastore_fixedkv_tree, "extent {} is not live", c.trans, *eint); @@ -684,15 +684,15 @@ public: // Note, this check is valid even if iter.is_end() LOG_PREFIX(FixedKVTree::init_cached_extent); if (iter.leaf.node == &*eleaf) { - SUBDEBUGT( - seastore_lba_details, + SUBTRACET( + seastore_fixedkv_tree, "extent {} is live", c.trans, *eleaf); return true; } else { - SUBDEBUGT( - seastore_lba_details, + SUBTRACET( + seastore_fixedkv_tree, "extent {} is not live", c.trans, *eleaf); @@ -700,8 +700,8 @@ public: } }); } else { - SUBDEBUGT( - seastore_lba_details, + SUBTRACET( + seastore_fixedkv_tree, "found other extent {} type {}", c.trans, *e, @@ -726,8 +726,8 @@ public: c, laddr ).si_then([FNAME, c, addr, laddr, len](auto iter) { if (iter.leaf.node->get_paddr() == addr) { - SUBDEBUGT( - seastore_lba_details, + SUBTRACET( + seastore_fixedkv_tree, "extent laddr {} addr {}~{} found: {}", c.trans, laddr, @@ -736,8 +736,8 @@ public: *iter.leaf.node); return CachedExtentRef(iter.leaf.node); } else { - SUBDEBUGT( - seastore_lba_details, + SUBTRACET( + seastore_fixedkv_tree, "extent laddr {} addr {}~{} is not live, does not match node {}", c.trans, laddr, @@ -767,8 +767,8 @@ public: CachedExtent &node = *iter.get_internal(d).node; auto internal_node = node.cast(); if (internal_node->get_paddr() == addr) { - SUBDEBUGT( - seastore_lba_details, + SUBTRACET( + seastore_fixedkv_tree, "extent laddr {} addr {}~{} found: {}", c.trans, laddr, @@ -779,8 +779,8 @@ public: return CachedExtentRef(internal_node); } } - SUBDEBUGT( - seastore_lba_details, + SUBTRACET( + seastore_fixedkv_tree, "extent laddr {} addr {}~{} is not live, no matching internal node", c.trans, laddr, @@ -832,8 +832,8 @@ public: n_fixed_kv_extent->resolve_relative_addrs( make_record_relative_paddr(0) - n_fixed_kv_extent->get_paddr()); - SUBDEBUGT( - seastore_lba_details, + SUBTRACET( + seastore_fixedkv_tree, "rewriting {} into {}", c.trans, fixed_kv_extent, @@ -871,8 +871,8 @@ public: paddr_t new_addr) { LOG_PREFIX(FixedKVBtree::update_internal_mapping); - SUBDEBUGT( - seastore_lba_details, + SUBTRACET( + seastore_fixedkv_tree, "updating laddr {} at depth {} from {} to {}", c.trans, laddr, @@ -885,11 +885,11 @@ public: ).si_then([=](auto iter) { assert(iter.get_depth() >= depth); if (depth == iter.get_depth()) { - SUBDEBUGT(seastore_lba_details, "update at root", c.trans); + SUBTRACET(seastore_fixedkv_tree, "update at root", c.trans); if (laddr != min_max_t::min) { SUBERRORT( - seastore_lba_details, + seastore_fixedkv_tree, "updating root laddr {} at depth {} from {} to {}," "laddr is not 0", c.trans, @@ -903,7 +903,7 @@ public: if (root.get_location() != old_addr) { SUBERRORT( - seastore_lba_details, + seastore_fixedkv_tree, "updating root laddr {} at depth {} from {} to {}," "root addr {} does not match", c.trans, @@ -925,7 +925,7 @@ public: if (piter->get_key() != laddr) { SUBERRORT( - seastore_lba_details, + seastore_fixedkv_tree, "updating laddr {} at depth {} from {} to {}," "node {} pos {} val pivot addr {} does not match", c.trans, @@ -942,7 +942,7 @@ public: if (piter->get_val() != old_addr) { SUBERRORT( - seastore_lba_details, + seastore_fixedkv_tree, "updating laddr {} at depth {} from {} to {}," "node {} pos {} val addr {} does not match", c.trans, @@ -988,8 +988,8 @@ private: node_key_t end) { LOG_PREFIX(FixedKVBtree::get_internal_node); - SUBDEBUGT( - seastore_lba_details, + SUBTRACET( + seastore_fixedkv_tree, "reading internal at offset {}, depth {}, begin {}, end {}", c.trans, offset, @@ -1012,8 +1012,8 @@ private: init_internal ).si_then([FNAME, c, offset, init_internal, depth, begin, end]( typename internal_node_t::Ref ret) { - SUBDEBUGT( - seastore_lba_details, + SUBTRACET( + seastore_fixedkv_tree, "read internal at offset {} {}", c.trans, offset, @@ -1050,8 +1050,8 @@ private: node_key_t end) { LOG_PREFIX(FixedKVBtree::get_leaf_node); - SUBDEBUGT( - seastore_lba_details, + SUBTRACET( + seastore_fixedkv_tree, "reading leaf at offset {}, begin {}, end {}", c.trans, offset, @@ -1072,8 +1072,8 @@ private: init_leaf ).si_then([FNAME, c, offset, init_leaf, begin, end] (typename leaf_node_t::Ref ret) { - SUBDEBUGT( - seastore_lba_details, + SUBTRACET( + seastore_fixedkv_tree, "read leaf at offset {} {}", c.trans, offset, @@ -1228,7 +1228,7 @@ private: mapped_space_visitor_t *visitor ///< [in] mapped space visitor ) { LOG_PREFIX(FixedKVBtree::lookup_depth_range); - SUBDEBUGT(seastore_lba_details, "{} -> {}", c.trans, from, to); + SUBTRACET(seastore_fixedkv_tree, "{} -> {}", c.trans, from, to); return seastar::do_with( from, [c, to, visitor, &iter, &li, &ll](auto &d) { @@ -1292,7 +1292,7 @@ private: auto riter = ll(*(root_entry.node)); root_entry.pos = riter->get_offset(); } - SUBDEBUGT(seastore_lba_details, "got root, depth {}", c.trans, root.get_depth()); + SUBTRACET(seastore_fixedkv_tree, "got root, depth {}", c.trans, root.get_depth()); return lookup_depth_range( c, iter, @@ -1383,7 +1383,7 @@ private: depth_t split_from = iter.check_split(); - SUBDEBUGT(seastore_lba_details, "split_from {}, depth {}", c.trans, split_from, iter.get_depth()); + SUBTRACET(seastore_fixedkv_tree, "split_from {}, depth {}", c.trans, split_from, iter.get_depth()); if (split_from == iter.get_depth()) { auto nroot = c.cache.template alloc_new_extent( @@ -1422,8 +1422,8 @@ private: pivot, right->get_paddr()); - SUBDEBUGT( - seastore_lba_details, + SUBTRACET( + seastore_fixedkv_tree, "splitted {} into left: {}, right: {}", c.trans, *pos.node, @@ -1444,8 +1444,8 @@ private: if (split_from > 1) { auto &pos = iter.get_internal(split_from); - SUBDEBUGT( - seastore_lba_details, + SUBTRACET( + seastore_fixedkv_tree, "splitting internal {} at depth {}, parent: {} at pos: {}", c.trans, *pos.node, @@ -1464,8 +1464,8 @@ private: } } else { auto &pos = iter.leaf; - SUBDEBUGT( - seastore_lba_details, + SUBTRACET( + seastore_fixedkv_tree, "splitting leaf {}, parent: {} at pos: {}", c.trans, *pos.node, @@ -1503,8 +1503,8 @@ private: LOG_PREFIX(FixedKVBtree::handle_merge); if (iter.get_depth() == 1 || !iter.leaf.node->below_min_capacity()) { - SUBDEBUGT( - seastore_lba_details, + SUBTRACET( + seastore_fixedkv_tree, "no need to merge leaf, leaf size {}, depth {}", c.trans, iter.leaf.node->get_size(), @@ -1517,8 +1517,8 @@ private: [FNAME, this, c, &iter](auto &to_merge) { return trans_intr::repeat( [FNAME, this, c, &iter, &to_merge] { - SUBDEBUGT( - seastore_lba_details, + SUBTRACET( + seastore_fixedkv_tree, "merging depth {}", c.trans, to_merge); @@ -1537,7 +1537,7 @@ private: auto &pos = iter.get_internal(to_merge); if (to_merge == iter.get_depth()) { if (pos.node->get_size() == 1) { - SUBDEBUGT(seastore_lba_details, "collapsing root", c.trans); + SUBTRACET(seastore_fixedkv_tree, "collapsing root", c.trans); c.cache.retire_extent(c.trans, pos.node); assert(pos.pos == 0); auto node_iter = pos.get_iter(); @@ -1548,20 +1548,20 @@ private: get_tree_stats(c.trans).depth = iter.get_depth(); root_dirty = true; } else { - SUBDEBUGT(seastore_lba_details, "no need to collapse root", c.trans); + SUBTRACET(seastore_fixedkv_tree, "no need to collapse root", c.trans); } return seastar::stop_iteration::yes; } else if (pos.node->below_min_capacity()) { - SUBDEBUGT( - seastore_lba_details, + SUBTRACET( + seastore_fixedkv_tree, "continuing, next node {} depth {} at min", c.trans, *pos.node, to_merge); return seastar::stop_iteration::no; } else { - SUBDEBUGT( - seastore_lba_details, + SUBTRACET( + seastore_fixedkv_tree, "complete, next node {} depth {} not min", c.trans, *pos.node, @@ -1623,7 +1623,7 @@ private: ? parent_pos.node->get_node_meta().end : next_iter->get_key(); - SUBDEBUGT(seastore_lba_details, "parent: {}, node: {}", c.trans, *parent_pos.node, *pos.node); + SUBTRACET(seastore_fixedkv_tree, "parent: {}, node: {}", c.trans, *parent_pos.node, *pos.node); return get_node( c, depth, @@ -1653,7 +1653,7 @@ private: parent_pos.pos--; } - SUBDEBUGT(seastore_lba_details, "l: {}, r: {}, replacement: {}", c.trans, *l, *r, *replacement); + SUBTRACET(seastore_fixedkv_tree, "l: {}, r: {}, replacement: {}", c.trans, *l, *r, *replacement); c.cache.retire_extent(c.trans, l); c.cache.retire_extent(c.trans, r); } else { @@ -1689,8 +1689,8 @@ private: pos.pos = orig_position - replacement_l->get_size(); } - SUBDEBUGT( - seastore_lba_details, + SUBTRACET( + seastore_fixedkv_tree, "l: {}, r: {}, replacement_l: {}, replacement_r: {}", c.trans, *l, *r, *replacement_l, *replacement_r); c.cache.retire_extent(c.trans, l); diff --git a/src/crimson/os/seastore/btree/fixed_kv_node.h b/src/crimson/os/seastore/btree/fixed_kv_node.h index b23603c0f69..c48d3c0e0ff 100644 --- a/src/crimson/os/seastore/btree/fixed_kv_node.h +++ b/src/crimson/os/seastore/btree/fixed_kv_node.h @@ -12,7 +12,6 @@ #include "crimson/common/fixed_kv_node_layout.h" #include "crimson/common/errorator.h" -#include "crimson/os/seastore/lba_manager.h" #include "crimson/os/seastore/seastore_types.h" #include "crimson/os/seastore/cache.h" #include "crimson/os/seastore/cached_extent.h" @@ -65,7 +64,7 @@ struct FixedKVNode : CachedExtent { * FixedKVInternalNode * * Abstracts operations on and layout of internal nodes for the - * LBA Tree. + * FixedKVBTree. */ template < size_t CAPACITY, @@ -219,7 +218,7 @@ struct FixedKVInternalNode for (auto i: *this) { if (i->get_val().is_relative()) { auto updated = base.add_relative(i->get_val()); - SUBTRACE(seastore_lba_details, "{} -> {}", i->get_val(), updated); + SUBTRACE(seastore_fixedkv_tree, "{} -> {}", i->get_val(), updated); i->set_val(updated); } } -- 2.39.5