From: Samuel Just Date: Wed, 7 Feb 2024 00:32:38 +0000 (+0000) Subject: crimson/.../client_request: convert ClientRequest::process_pg_op to coroutine X-Git-Tag: v20.0.0~2228^2~5 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=0de3613072659cfdcb41ea7b1df5865425774b3b;p=ceph.git crimson/.../client_request: convert ClientRequest::process_pg_op to coroutine 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 a3c895d96541..0574a1bcfe5e 100644 --- a/src/crimson/osd/osd_operations/client_request.cc +++ b/src/crimson/osd/osd_operations/client_request.cc @@ -203,12 +203,10 @@ ClientRequest::interruptible_future<> ClientRequest::process_pg_op( Ref pg) { - return pg->do_pg_ops( - m - ).then_interruptible([this, pg=std::move(pg)](MURef reply) { - // TODO: gate the crosscore sending - return get_foreign_connection().send_with_throttling(std::move(reply)); - }); + auto reply = co_await pg->do_pg_ops(m); + // TODO: gate the crosscore sending + co_await interruptor::make_interruptible( + get_foreign_connection().send_with_throttling(std::move(reply))); } auto ClientRequest::reply_op_error(const Ref& pg, int err)