]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
crimson/*: rename errorator-loop.h into errorator-utils.h
authorRadoslaw Zarzynski <rzarzyns@redhat.com>
Tue, 20 Jan 2026 15:23:22 +0000 (15:23 +0000)
committerRadoslaw Zarzynski <rzarzyns@redhat.com>
Tue, 27 Jan 2026 19:42:59 +0000 (19:42 +0000)
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
(cherry picked from commit 682e4ff4322a895a0bdb6c9cc0d00a516499baad)

src/crimson/common/errorator-loop.h [deleted file]
src/crimson/common/errorator-utils.h [new file with mode: 0644]
src/crimson/os/seastore/cache.h
src/crimson/os/seastore/extent_placement_manager.cc
src/crimson/os/seastore/journal/circular_bounded_journal.cc
src/crimson/os/seastore/random_block_manager/nvme_block_device.cc
src/crimson/os/seastore/random_block_manager/rbm_device.cc
src/crimson/os/seastore/segment_manager/block.cc
src/crimson/os/seastore/segment_manager/zbd.cc
src/test/crimson/test_errorator.cc
src/test/crimson/test_errorator_abort.cc

diff --git a/src/crimson/common/errorator-loop.h b/src/crimson/common/errorator-loop.h
deleted file mode 100644 (file)
index 2af1c4b..0000000
+++ /dev/null
@@ -1,90 +0,0 @@
-// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:nil -*-
-// vim: ts=8 sw=2 sts=2 expandtab expandtab
-
-#pragma once
-
-#include <seastar/core/future.hh>
-
-#include "crimson/common/errorator.h"
-
-
-namespace crimson {
-template <class... AllowedErrors>
-class parallel_for_each_state final : private seastar::continuation_base<> {
-  using future_t = typename errorator<AllowedErrors...>::template future<>;
-  std::vector<future_t> _incomplete;
-  seastar::promise<> _result;
-  std::exception_ptr _ex;
-private:
-  void wait_for_one() noexcept {
-    while (!_incomplete.empty() && _incomplete.back().available()) {
-      if (_incomplete.back().failed()) {
-        _ex = _incomplete.back().get_exception();
-      }
-      _incomplete.pop_back();
-    }
-    if (!_incomplete.empty()) {
-      seastar::internal::set_callback(std::move(_incomplete.back()),
-                                      static_cast<continuation_base<>*>(this));
-      _incomplete.pop_back();
-      return;
-    }
-    if (__builtin_expect(bool(_ex), false)) {
-      _result.set_exception(std::move(_ex));
-    } else {
-      _result.set_value();
-    }
-    delete this;
-  }
-  virtual void run_and_dispose() noexcept override {
-    if (_state.failed()) {
-      _ex = std::move(_state).get_exception();
-    }
-    _state = {};
-    wait_for_one();
-  }
-  task* waiting_task() noexcept override { return _result.waiting_task(); }
-public:
-  parallel_for_each_state(size_t n) {
-    _incomplete.reserve(n);
-  }
-  void add_future(future_t&& f) {
-    _incomplete.push_back(std::move(f));
-  }
-  future_t get_future() {
-    auto ret = _result.get_future();
-    wait_for_one();
-    return ret;
-  }
-};
-
-template <typename Iterator, typename Func, typename... AllowedErrors>
-static inline typename errorator<AllowedErrors...>::template future<>
-parallel_for_each(Iterator first, Iterator last, Func&& func) noexcept {
-  parallel_for_each_state<AllowedErrors...>* s = nullptr;
-  // Process all elements, giving each future the following treatment:
-  //   - available, not failed: do nothing
-  //   - available, failed: collect exception in ex
-  //   - not available: collect in s (allocating it if needed)
-  for (;first != last; ++first) {
-    auto f = seastar::futurize_invoke(std::forward<Func>(func), *first);
-    if (!f.available() || f.failed()) {
-      if (!s) {
-        auto n = (seastar::internal::iterator_range_estimate_vector_capacity(
-              first, last) + 1);
-        s = new parallel_for_each_state<AllowedErrors...>(n);
-      }
-      s->add_future(std::move(f));
-    }
-  }
-  // If any futures were not available, hand off to parallel_for_each_state::start().
-  // Otherwise we can return a result immediately.
-  if (s) {
-    // s->get_future() takes ownership of s (and chains it to one of the futures it contains)
-    // so this isn't a leak
-    return s->get_future();
-  }
-  return seastar::make_ready_future<>();
-}
-
-} // namespace crimson
diff --git a/src/crimson/common/errorator-utils.h b/src/crimson/common/errorator-utils.h
new file mode 100644 (file)
index 0000000..2af1c4b
--- /dev/null
@@ -0,0 +1,90 @@
+// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:nil -*-
+// vim: ts=8 sw=2 sts=2 expandtab expandtab
+
+#pragma once
+
+#include <seastar/core/future.hh>
+
+#include "crimson/common/errorator.h"
+
+
+namespace crimson {
+template <class... AllowedErrors>
+class parallel_for_each_state final : private seastar::continuation_base<> {
+  using future_t = typename errorator<AllowedErrors...>::template future<>;
+  std::vector<future_t> _incomplete;
+  seastar::promise<> _result;
+  std::exception_ptr _ex;
+private:
+  void wait_for_one() noexcept {
+    while (!_incomplete.empty() && _incomplete.back().available()) {
+      if (_incomplete.back().failed()) {
+        _ex = _incomplete.back().get_exception();
+      }
+      _incomplete.pop_back();
+    }
+    if (!_incomplete.empty()) {
+      seastar::internal::set_callback(std::move(_incomplete.back()),
+                                      static_cast<continuation_base<>*>(this));
+      _incomplete.pop_back();
+      return;
+    }
+    if (__builtin_expect(bool(_ex), false)) {
+      _result.set_exception(std::move(_ex));
+    } else {
+      _result.set_value();
+    }
+    delete this;
+  }
+  virtual void run_and_dispose() noexcept override {
+    if (_state.failed()) {
+      _ex = std::move(_state).get_exception();
+    }
+    _state = {};
+    wait_for_one();
+  }
+  task* waiting_task() noexcept override { return _result.waiting_task(); }
+public:
+  parallel_for_each_state(size_t n) {
+    _incomplete.reserve(n);
+  }
+  void add_future(future_t&& f) {
+    _incomplete.push_back(std::move(f));
+  }
+  future_t get_future() {
+    auto ret = _result.get_future();
+    wait_for_one();
+    return ret;
+  }
+};
+
+template <typename Iterator, typename Func, typename... AllowedErrors>
+static inline typename errorator<AllowedErrors...>::template future<>
+parallel_for_each(Iterator first, Iterator last, Func&& func) noexcept {
+  parallel_for_each_state<AllowedErrors...>* s = nullptr;
+  // Process all elements, giving each future the following treatment:
+  //   - available, not failed: do nothing
+  //   - available, failed: collect exception in ex
+  //   - not available: collect in s (allocating it if needed)
+  for (;first != last; ++first) {
+    auto f = seastar::futurize_invoke(std::forward<Func>(func), *first);
+    if (!f.available() || f.failed()) {
+      if (!s) {
+        auto n = (seastar::internal::iterator_range_estimate_vector_capacity(
+              first, last) + 1);
+        s = new parallel_for_each_state<AllowedErrors...>(n);
+      }
+      s->add_future(std::move(f));
+    }
+  }
+  // If any futures were not available, hand off to parallel_for_each_state::start().
+  // Otherwise we can return a result immediately.
+  if (s) {
+    // s->get_future() takes ownership of s (and chains it to one of the futures it contains)
+    // so this isn't a leak
+    return s->get_future();
+  }
+  return seastar::make_ready_future<>();
+}
+
+} // namespace crimson
index b5967d9f808b7f83d20bf45c607af3e13ae05887..df03609879a22625e6980eaf3e42d1ade2436d7e 100644 (file)
@@ -8,7 +8,7 @@
 #include "include/buffer.h"
 
 #include "crimson/common/errorator.h"
-#include "crimson/common/errorator-loop.h"
+#include "crimson/common/errorator-utils.h"
 #include "crimson/os/seastore/backref_entry.h"
 #include "crimson/os/seastore/cached_extent.h"
 #include "crimson/os/seastore/extent_placement_manager.h"
index 50bf7dddcdc7ef1d9267c16c81fd82f88ca26ad9..186b9e4c06d6fe8c8c88b55dd30b5a54cc0f3c94 100644 (file)
@@ -3,7 +3,7 @@
 
 #include "crimson/os/seastore/extent_placement_manager.h"
 
-#include "crimson/common/errorator-loop.h"
+#include "crimson/common/errorator-utils.h"
 #include "crimson/common/config_proxy.h"
 #include "crimson/os/seastore/logging.h"
 
index a13be09148e16255e9f3d97b93f7b362ae447044..deb94c7cf1f0a616638fca21a819d4dcdeb3df3d 100644 (file)
@@ -3,7 +3,7 @@
 
 #include <boost/iterator/counting_iterator.hpp>
 
-#include "crimson/common/errorator-loop.h"
+#include "crimson/common/errorator-utils.h"
 #include "include/intarith.h"
 #include "crimson/os/seastore/async_cleaner.h"
 #include "crimson/os/seastore/journal/circular_bounded_journal.h"
index 8938b8f344e844fe8e7226c9a2f6a34f2fe47b65..ce1ddc2d0a7a580a6444a01bab00d9faa4e295c5 100644 (file)
@@ -8,7 +8,7 @@
 #include <seastar/coroutine/parallel_for_each.hh>
 
 #include "crimson/common/log.h"
-#include "crimson/common/errorator-loop.h"
+#include "crimson/common/errorator-utils.h"
 
 #include "include/buffer.h"
 #include "rbm_device.h"
index 91d42170666c2fa71d17a55de158c9f4ec19b0d4..42493f8c5a0a925dbb84f85cac379ba07ea61e5d 100644 (file)
@@ -7,7 +7,7 @@
 #include <fcntl.h>
 
 #include "crimson/common/log.h"
-#include "crimson/common/errorator-loop.h"
+#include "crimson/common/errorator-utils.h"
 #include "crimson/os/seastore/logging.h"
 
 #include "include/buffer.h"
index b68b8cc8609f7db878b40e0363f67ce788458daf..3cb45d4c20d8d14b3b6253401bf5a69757d0c61e 100644 (file)
@@ -12,7 +12,7 @@
 #include "include/buffer.h"
 
 #include "crimson/common/config_proxy.h"
-#include "crimson/common/errorator-loop.h"
+#include "crimson/common/errorator-utils.h"
 #include "crimson/common/coroutine.h"
 
 #include "crimson/os/seastore/logging.h"
index cb343e0fa0ca1f23ab837caff86e94492b955c88..8954b7f6d6d6157f19a257aad285a288f72d9676 100644 (file)
@@ -9,7 +9,7 @@
 #include "crimson/os/seastore/segment_manager/zbd.h"
 #include "crimson/common/config_proxy.h"
 #include "crimson/os/seastore/logging.h"
-#include "crimson/common/errorator-loop.h"
+#include "crimson/common/errorator-utils.h"
 #include "include/buffer.h"
 
 SET_SUBSYS(seastore_device);
index 3d3be4ca62b6f1bf376ade801a62e50323839539..ebbd04c0881a0223a180c3a88f101c09751183c5 100644 (file)
@@ -7,7 +7,7 @@
 #include "test/crimson/gtest_seastar.h"
 
 #include "crimson/common/errorator.h"
-#include "crimson/common/errorator-loop.h"
+#include "crimson/common/errorator-utils.h"
 #include "crimson/common/log.h"
 #include "seastar/core/sleep.hh"
 
index 1a42cd1eefddf8e9c4d9a4f0dc85e8234d0a0180..b90c48f47f925a26eff05a1e8077f46ed933f3cb 100644 (file)
@@ -7,7 +7,7 @@
 #include "test/crimson/gtest_seastar.h"
 
 #include "crimson/common/errorator.h"
-#include "crimson/common/errorator-loop.h"
+#include "crimson/common/errorator-utils.h"
 #include "crimson/common/log.h"
 #include "seastar/core/sleep.hh"