mirror of
https://github.com/ceph/ceph
synced 2026-08-02 07:03:18 +00:00
Merge pull request #69095 from xxhdx1985126/wip-seastore-onode-cpu-overhead-output
crimson/os/seastore/onode_manager: avoid debug related info from occupying too much cpu time Reviewed-by: Matan Breizman <mbreizma@redhat.com>
This commit is contained in:
commit
8023e9f5df
@ -690,20 +690,25 @@ eagain_ifuture<Ref<Node>> Node::load(
|
||||
return c.nm.read_extent(c.t, addr
|
||||
).handle_error_interruptible(
|
||||
eagain_iertr::pass_further{},
|
||||
crimson::ct_error::assert_all(fmt::format(
|
||||
"{} -- addr={}, is_level_tail={}", FNAME, addr, expect_is_level_tail).c_str())
|
||||
crimson::ct_error::all_same_way(
|
||||
[FNAME, c, addr, expect_is_level_tail](const auto &e) {
|
||||
ERRORT("{} -- addr={}, is_level_tail={}",
|
||||
c.t, addr, expect_is_level_tail);
|
||||
ceph_abort();
|
||||
return eagain_iertr::make_ready_future<NodeExtentRef>();
|
||||
})
|
||||
).si_then([FNAME, c, addr, expect_is_level_tail](auto extent)
|
||||
-> eagain_ifuture<Ref<Node>> {
|
||||
assert(extent);
|
||||
auto header = extent->get_header();
|
||||
auto field_type = header.get_field_type();
|
||||
if (!field_type) {
|
||||
if (unlikely(!field_type)) {
|
||||
ERRORT("load addr={}, is_level_tail={} error, "
|
||||
"got invalid header -- {}",
|
||||
c.t, addr, expect_is_level_tail, fmt::ptr(extent));
|
||||
ceph_abort_msg("fatal error");
|
||||
}
|
||||
if (header.get_is_level_tail() != expect_is_level_tail) {
|
||||
if (unlikely(header.get_is_level_tail() != expect_is_level_tail)) {
|
||||
ERRORT("load addr={}, is_level_tail={} error, "
|
||||
"is_level_tail mismatch -- {}",
|
||||
c.t, addr, expect_is_level_tail, fmt::ptr(extent));
|
||||
@ -712,7 +717,7 @@ eagain_ifuture<Ref<Node>> Node::load(
|
||||
|
||||
auto node_type = header.get_node_type();
|
||||
if (node_type == node_type_t::LEAF) {
|
||||
if (extent->get_length() != c.vb.get_leaf_node_size()) {
|
||||
if (unlikely(extent->get_length() != c.vb.get_leaf_node_size())) {
|
||||
ERRORT("load addr={}, is_level_tail={} error, "
|
||||
"leaf length mismatch -- {}",
|
||||
c.t, addr, expect_is_level_tail, fmt::ptr(extent));
|
||||
@ -723,7 +728,7 @@ eagain_ifuture<Ref<Node>> Node::load(
|
||||
return eagain_iertr::make_ready_future<Ref<Node>>(
|
||||
new LeafNode(derived_ptr, std::move(impl)));
|
||||
} else if (node_type == node_type_t::INTERNAL) {
|
||||
if (extent->get_length() != c.vb.get_internal_node_size()) {
|
||||
if (unlikely(extent->get_length() != c.vb.get_internal_node_size())) {
|
||||
ERRORT("load addr={}, is_level_tail={} error, "
|
||||
"internal length mismatch -- {}",
|
||||
c.t, addr, expect_is_level_tail, fmt::ptr(extent));
|
||||
|
||||
@ -906,7 +906,9 @@ class NodeLayoutT final : public InternalNodeImpl, public LeafNodeImpl {
|
||||
|
||||
private:
|
||||
NodeLayoutT(NodeExtentRef extent) : extent{extent} {
|
||||
#ifndef NDEBUG
|
||||
build_name();
|
||||
#endif
|
||||
}
|
||||
|
||||
extent_len_t filled_size() const {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user