From: Matan Breizman Date: Sun, 22 Feb 2026 11:37:36 +0000 (+0000) Subject: crimson/admin/osd_admin: introduce reactor_backend command X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=2e8b4b580cbc4b629a66151ea49ff5327b7b113c;p=ceph.git crimson/admin/osd_admin: introduce reactor_backend command follow-up to: https://github.com/ceph/ceph/pull/67165 Blocked by: https://github.com/scylladb/seastar/pull/3266 Signed-off-by: Matan Breizman --- diff --git a/src/crimson/admin/osd_admin.cc b/src/crimson/admin/osd_admin.cc index c2f46e0bfa3..87399d90791 100644 --- a/src/crimson/admin/osd_admin.cc +++ b/src/crimson/admin/osd_admin.cc @@ -614,4 +614,26 @@ private: template std::unique_ptr make_asok_hook(crimson::osd::ShardServices& shard_services); +class DumpReactorBackendHook final: public AdminSocketHook { +public: + explicit DumpReactorBackendHook() : + AdminSocketHook{"reactor_backend", + "", + "seastar reactor backend used"} + {} + seastar::future call(const cmdmap_t& cmdmap, + std::string_view format, + ceph::bufferlist&& input) const final + { + LOG_PREFIX(AdminSocketHook::DumpReactorBackendHook); + DEBUG(""); + + std::string_view reactor_backend_name = seastar::engine().get_backend_name(); + std::unique_ptr f{Formatter::create(format, "json-pretty", "json-pretty")}; + f->dump_string("reactor_backend_name", reactor_backend_name); + co_return std::move(f); + } +}; +template std::unique_ptr make_asok_hook(); + } // namespace crimson::admin diff --git a/src/crimson/admin/osd_admin.h b/src/crimson/admin/osd_admin.h index b33ea005fb8..2a5d47c57f8 100644 --- a/src/crimson/admin/osd_admin.h +++ b/src/crimson/admin/osd_admin.h @@ -23,6 +23,8 @@ class DumpInFlightOpsHook; class DumpHistoricOpsHook; class DumpSlowestHistoricOpsHook; class DumpRecoveryReservationsHook; +class DumpReactorBackendHook; + template std::unique_ptr make_asok_hook(Args&&... args); diff --git a/src/crimson/osd/osd.cc b/src/crimson/osd/osd.cc index b3acb5f4c6d..9a8aeb0bdd0 100644 --- a/src/crimson/osd/osd.cc +++ b/src/crimson/osd/osd.cc @@ -840,6 +840,8 @@ seastar::future<> OSD::start_asok_admin() std::as_const(get_shard_services().get_registry()))); asok->register_command( make_asok_hook(get_shard_services())); + asok->register_command( + make_asok_hook()); }); }