]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
crimson/common/interruptible_future: add discard_result
authorZhang Song <zhangsong02@qianxin.com>
Wed, 3 Apr 2024 08:01:59 +0000 (16:01 +0800)
committerZhang Song <zhangsong02@qianxin.com>
Wed, 3 Apr 2024 08:01:59 +0000 (16:01 +0800)
Signed-off-by: Zhang Song <zhangsong02@qianxin.com>
src/crimson/common/interruptible_future.h
src/crimson/os/seastore/object_data_handler.cc
src/crimson/os/seastore/omap_manager/btree/omap_btree_node_impl.cc
src/crimson/tools/store_nbd/tm_driver.cc
src/test/crimson/seastore/test_seastore_cache.cc

index dbda2720ce0ad2fab2dd24cd67eebc94f6cb0cb8..27467f2396265d036444a4ef2c977517340585b5 100644 (file)
@@ -801,6 +801,9 @@ public:
     return safe_then_interruptible(std::forward<Args>(args)...);
   }
 
+  auto discard_result() noexcept {
+    return si_then([](auto &&) {});
+  }
 
   template<bool interruptible = true, typename ValueInterruptCondT, typename ErrorVisitorT,
           typename U = T, std::enable_if_t<!std::is_void_v<U> && interruptible, int> = 0>
index 6b1fb45b1ae83f822b7237fa2035d3311f435d21..d741fd5c4511a71262aee3dd8d5193468920fa0c 100644 (file)
@@ -499,8 +499,7 @@ ObjectDataHandler::write_ret do_removals(
       return ctx.tm.remove(
        ctx.t,
        pin->get_key()
-      ).si_then(
-       [](auto){},
+      ).discard_result().handle_error_interruptible(
        ObjectDataHandler::write_iertr::pass_further{},
        crimson::ct_error::assert_all{
          "object_data_handler::do_removals invalid error"
index 307f82c05e34b3647c95701079bc22bb9bd34031..8d06accef1ea18993b43fcec0d8d522a2d80d49c 100644 (file)
@@ -41,7 +41,7 @@ dec_ref_ret dec_ref(omap_context_t oc, T&& addr) {
     crimson::ct_error::assert_all{
       "Invalid error in OMapInnerNode helper dec_ref"
     }
-  ).si_then([](auto &&e) {});
+  ).discard_result();
 }
 
 /**
index 01658c4f0637f53474c212a52ee63693be3d3c9b..967a46ccd45e12ca17d9a7e902f06da8f50875a6 100644 (file)
@@ -28,7 +28,7 @@ seastar::future<> TMDriver::write(
         [this, offset, &ptr](auto& t)
       {
         return tm->remove(t, offset
-        ).si_then([](auto){}).handle_error_interruptible(
+        ).discard_result().handle_error_interruptible(
           crimson::ct_error::enoent::handle([](auto) { return seastar::now(); }),
           crimson::ct_error::pass_further_all{}
         ).si_then([this, offset, &t, &ptr] {
index 2b0b546b159a0d3e905616fedd7fde790bc99098..b099ddb684a23bac5a74ef8a7b911f11faba3dd9 100644 (file)
@@ -100,7 +100,7 @@ struct cache_test_t : public seastar_test_suite_t {
           return cache->mkfs(t);
         }).safe_then([this, &ref_t] {
           return submit_transaction(std::move(ref_t)
-          ).then([](auto p) {});
+          ).discard_result();
         });
       });
     }).handle_error(