]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
common/options/crimson.yaml.in: allow seastar to select available backend
authorMatan Breizman <mbreizma@redhat.com>
Mon, 9 Feb 2026 14:46:12 +0000 (14:46 +0000)
committerMatan Breizman <mbreizma@redhat.com>
Thu, 12 Feb 2026 10:26:16 +0000 (10:26 +0000)
* If non backend is selected, let seastar choose the default
  reactor backend (io_uring, if available).
* If a backend is selected, don't implicitly fallback to diffrent one.

Updated the conf option and moved to "Reactor options" section.

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
src/common/options/crimson.yaml.in
src/crimson/osd/main_config_bootstrap_helpers.cc

index cda3e47d3458d344fb3d98587d5c33bb1b77e6b6..c046d204e7549e8df4447538c674d043e95ed543 100644 (file)
@@ -28,22 +28,25 @@ options:
   min: 0
   max: 32
 
+# Reactor options:
+
 - name: crimson_reactor_backend
   type: str
   level: advanced
-  default: linux-aio
+  default:
   enum_values:
-  - linux-aio
   - io_uring
+  - linux-aio
   - epoll
-  desc: Select the seastar reactor IO backend to use for the crimson
-  long_desc: The backend is chosen during OSD bootup and determines how asynchrnous disk I/O
-              is performed.
+  desc: Select which Seastar's internal reactor implementation
+  long_desc: Controls which asynchronous I/O engine the Seastar reactor will use
+             during OSD startup. Different backends have different
+             performance characteristics and require different kernel capabilities.
+             Note, If none is non is selected, let seastar choose.
+
   flags:
   - startup
 
-# Reactor options:
-
 - name: crimson_reactor_task_quota_ms
   type: float
   level: advanced
index 1781fd978aa7be35ab2db043a63213af5ca2d1eb..07e9910dee0412cd502e2f1a2ed03f8aaf6ba764 100644 (file)
@@ -204,20 +204,6 @@ _get_early_config(int argc, const char *argv[])
             }
           }
         }
-        if (auto found = std::find_if(
-              std::begin(ret.early_args),
-              std::end(ret.early_args),
-              [](auto& arg) { return arg == "--reactor-backend"; });
-            found == std::end(ret.early_args)) {
-          auto backend = crimson::common::get_conf<std::string>("crimson_reactor_backend");
-          #ifndef SEASTAR_IO_URING
-            if (backend == "io_uring") {
-              ceph_abort_msgf("reactor_backend=io_uring requested but build "
-                              "does not support io_uring");
-            }
-          #endif
-       }
-
        if (auto found = std::find_if(
              std::begin(early_args),
              std::end(early_args),