]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
crimson: introduce passing-further variant of safe_then() to errorator.
authorRadoslaw Zarzynski <rzarzyns@redhat.com>
Tue, 24 Sep 2019 18:48:18 +0000 (20:48 +0200)
committerRadoslaw Zarzynski <rzarzyns@redhat.com>
Wed, 20 Nov 2019 19:37:43 +0000 (20:37 +0100)
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
src/crimson/common/errorator.h
src/crimson/osd/ops_executer.cc
src/crimson/osd/pg.cc
src/crimson/osd/pg_backend.cc

index b798f7408b95b7b2494606b4a1a728983867377a..f8d8dc615990eed3ba2608e6c2e959512d65d452 100644 (file)
@@ -481,6 +481,12 @@ struct errorator {
                  std::forward<ErrorFuncTail>(error_func_tail)...));
     }
 
+    template <class ValueFunc>
+    auto safe_then(ValueFunc&& value_func) {
+      return safe_then(std::forward<ValueFunc>(value_func),
+                       errorator_type::pass_further{});
+    }
+
     template <class Func>
     void then(Func&&) = delete;
 
index d1994943788af58761cb4670b8798e648db90cfa..89fb31746640dadd24f2188009792dd81983b0f3 100644 (file)
@@ -376,7 +376,7 @@ OpsExecuter::execute_osd_op(OSDOp& osd_op)
           osd_op.rval = bl.length();
           osd_op.outdata = std::move(bl);
           return seastar::now();
-        }, read_errorator::pass_further{});
+        });
     });
   case CEPH_OSD_OP_GETXATTR:
     return do_read_op([&osd_op] (auto& backend, const auto& os) {
index 8df8bc63f747b789ed5243d5bc574dac8a530f7c..a614d61fcb6dcab85a0934b81657db6814a53647 100644 (file)
@@ -454,7 +454,7 @@ seastar::future<Ref<MOSDOpReply>> PG::do_osd_ops(Ref<MOSDOp> m)
            return submit_transaction(std::move(os), std::move(txn), *m);
          }
         });
-      }, OpsExecuter::osd_op_errorator::pass_further{});
+      });
     });
   }).safe_then([m,this] {
     auto reply = make_message<MOSDOpReply>(m.get(), 0, get_osdmap_epoch(),
index e1b2cd788ba146d52078709e80aaaabad067a189..7e6f10e76a9a0a3e61dbbb59c84a1fbff132c13f 100644 (file)
@@ -250,7 +250,7 @@ PGBackend::read(const object_info_t& oi,
       } else {
         return crimson::ct_error::object_corrupted::make();
       }
-    }, ll_read_errorator::pass_further{});
+    });
 }
 
 seastar::future<> PGBackend::stat(
@@ -486,7 +486,7 @@ PGBackend::get_attr_errorator::future<> PGBackend::getxattr(
     osd_op.op.xattr.value_len = osd_op.outdata.length();
     return seastar::now();
     //ctx->delta_stats.num_rd_kb += shift_round_up(osd_op.outdata.length(), 10);
-  }, get_attr_errorator::pass_further{});
+  });
   //ctx->delta_stats.num_rd++;
 }