]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
crimson/admin/osd_admin: introduce reactor_backend command 67457/head
authorMatan Breizman <mbreizma@redhat.com>
Sun, 22 Feb 2026 11:37:36 +0000 (11:37 +0000)
committerMatan Breizman <mbreizma@redhat.com>
Sun, 8 Mar 2026 11:24:51 +0000 (11:24 +0000)
follow-up to: https://github.com/ceph/ceph/pull/67165

Blocked by: https://github.com/scylladb/seastar/pull/3266

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
src/crimson/admin/osd_admin.cc
src/crimson/admin/osd_admin.h
src/crimson/osd/osd.cc

index c2f46e0bfa364b6d8af982dda8ef84c6f710b8d1..87399d907913db85468b4bf5482dbcf54ff7fdda 100644 (file)
@@ -614,4 +614,26 @@ private:
 template std::unique_ptr<AdminSocketHook>
 make_asok_hook<DumpRecoveryReservationsHook>(crimson::osd::ShardServices& shard_services);
 
+class DumpReactorBackendHook final: public AdminSocketHook {
+public:
+  explicit DumpReactorBackendHook() :
+    AdminSocketHook{"reactor_backend",
+                    "",
+                    "seastar reactor backend used"}
+  {}
+  seastar::future<tell_result_t> 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<Formatter> 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<AdminSocketHook> make_asok_hook<DumpReactorBackendHook>();
+
 } // namespace crimson::admin
index b33ea005fb8c0b64572bc634d09acf2410168d0f..2a5d47c57f8baaec174ae12ad00590c5d114f0c4 100644 (file)
@@ -23,6 +23,8 @@ class DumpInFlightOpsHook;
 class DumpHistoricOpsHook;
 class DumpSlowestHistoricOpsHook;
 class DumpRecoveryReservationsHook;
+class DumpReactorBackendHook;
+
 
 template<class Hook, class... Args>
 std::unique_ptr<AdminSocketHook> make_asok_hook(Args&&... args);
index b3acb5f4c6d8bfaee5266375b7e718c89279b5b7..9a8aeb0bdd0555dcedb17ad994e5c3d914f2e091 100644 (file)
@@ -840,6 +840,8 @@ seastar::future<> OSD::start_asok_admin()
        std::as_const(get_shard_services().get_registry())));
     asok->register_command(
       make_asok_hook<DumpRecoveryReservationsHook>(get_shard_services()));
+    asok->register_command(
+      make_asok_hook<DumpReactorBackendHook>());
   });
 }