From: Kefu Chai Date: Tue, 16 Jun 2026 12:34:05 +0000 (+0800) Subject: crimson/osd, seastore: fix log argument mismatches in error paths X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=863f65fdee51c02812257aeb8bfc6771b379c29d;p=ceph.git crimson/osd, seastore: fix log argument mismatches in error paths two log calls in errorator continuations were missing an argument. the compile-time fmt check surfaced these as a confusing "call to immediate function ... is not a constant expression" deep in the errorator/composer machinery rather than a plain "too few arguments", because the consteval format failure escalates through the continuation templates: - shard_services.cc handle_pg_create_info(): "ignore pgid {}" never passed pgid. - node.cc: the read_extent error handler logged "{} -- addr={}, is_level_tail={}" without the leading error; pass the std::error_code and include for its formatter. Signed-off-by: Kefu Chai --- diff --git a/src/crimson/os/seastore/onode_manager/staged-fltree/node.cc b/src/crimson/os/seastore/onode_manager/staged-fltree/node.cc index 9d78d87a8cd..6145018240f 100644 --- a/src/crimson/os/seastore/onode_manager/staged-fltree/node.cc +++ b/src/crimson/os/seastore/onode_manager/staged-fltree/node.cc @@ -7,6 +7,8 @@ #include #include +#include // for fmt::formatter + #include "common/likely.h" #include "crimson/common/utility.h" #include "crimson/os/seastore/logging.h" @@ -693,7 +695,7 @@ eagain_ifuture> Node::load( 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); + c.t, e, addr, expect_is_level_tail); ceph_abort(); return eagain_iertr::make_ready_future(); }) diff --git a/src/crimson/osd/shard_services.cc b/src/crimson/osd/shard_services.cc index bfb75e645ea..abeeb439c0b 100644 --- a/src/crimson/osd/shard_services.cc +++ b/src/crimson/osd/shard_services.cc @@ -933,7 +933,7 @@ seastar::future> ShardServices::handle_pg_create_info( const spg_t &pgid = info->pgid; if (!get_map()->is_up_acting_osd_shard(pgid, local_state.whoami) || !startmap->is_up_acting_osd_shard(pgid, local_state.whoami)) { - DEBUG("ignore pgid {}, doesn't exist anymore, discarding"); + DEBUG("ignore pgid {}, doesn't exist anymore, discarding", pgid); local_state.pg_map.pg_creation_canceled(pgid); return seastar::make_ready_future< std::tuple, OSDMapService::cached_map_t>