From: Samuel Just Date: Wed, 7 Feb 2024 01:19:13 +0000 (-0800) Subject: crimson/.../client_request: make reply_op_error return interruptible_future<> X-Git-Tag: v20.0.0~2228^2~4 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=ecf5795b6666f122fa3bf2771e83b066e611ade9;p=ceph.git crimson/.../client_request: make reply_op_error return interruptible_future<> co_await can't implicitely convert it. Signed-off-by: Samuel Just --- diff --git a/src/crimson/osd/osd_operations/client_request.cc b/src/crimson/osd/osd_operations/client_request.cc index 0574a1bcfe5e2..2f71cdacd3a87 100644 --- a/src/crimson/osd/osd_operations/client_request.cc +++ b/src/crimson/osd/osd_operations/client_request.cc @@ -209,7 +209,8 @@ ClientRequest::process_pg_op( get_foreign_connection().send_with_throttling(std::move(reply))); } -auto ClientRequest::reply_op_error(const Ref& pg, int err) +ClientRequest::interruptible_future<> +ClientRequest::reply_op_error(const Ref& pg, int err) { LOG_PREFIX(ClientRequest::reply_op_error); DEBUGDPP("{}: replying with error {}", *pg, *this, err); @@ -220,7 +221,9 @@ auto ClientRequest::reply_op_error(const Ref& pg, int err) reply->set_reply_versions(eversion_t(), 0); reply->set_op_returns(std::vector{}); // TODO: gate the crosscore sending - return get_foreign_connection().send_with_throttling(std::move(reply)); + return interruptor::make_interruptible( + get_foreign_connection().send_with_throttling(std::move(reply)) + ); } ClientRequest::interruptible_future<> diff --git a/src/crimson/osd/osd_operations/client_request.h b/src/crimson/osd/osd_operations/client_request.h index 67c3c9b1228d0..358a6bbe44e57 100644 --- a/src/crimson/osd/osd_operations/client_request.h +++ b/src/crimson/osd/osd_operations/client_request.h @@ -265,7 +265,7 @@ public: private: template interruptible_future<> with_sequencer(FuncT&& func); - auto reply_op_error(const Ref& pg, int err); + interruptible_future<> reply_op_error(const Ref& pg, int err); interruptible_future<> do_process( instance_handle_t &ihref,