From: Radoslaw Zarzynski Date: Thu, 18 Mar 2021 09:34:54 +0000 (+0000) Subject: crimson/osd: the ClientRequest::do_recover_missing() takes oid externally. X-Git-Tag: v17.1.0~1984^2~21 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=a6fc6ad1749d351111e5b365e66f3cb2a95755db;p=ceph.git crimson/osd: the ClientRequest::do_recover_missing() takes oid externally. This refactor is a first step towards sharing the recovery bits with `InternalClientRequest`. Signed-off-by: Radoslaw Zarzynski --- diff --git a/src/crimson/osd/osd_operations/client_request.cc b/src/crimson/osd/osd_operations/client_request.cc index d8936232e35b..2a1e652e137f 100644 --- a/src/crimson/osd/osd_operations/client_request.cc +++ b/src/crimson/osd/osd_operations/client_request.cc @@ -166,7 +166,7 @@ ClientRequest::process_op(Ref &pg) handle.enter(pp(*pg).recover_missing)) .then_interruptible( [this, pg]() mutable { - return do_recover_missing(pg); + return do_recover_missing(pg, m->get_hobj()); }).then_interruptible([this, pg]() mutable { return pg->already_complete(m->get_reqid()).then_unpack_interruptible( [this, pg](bool completed, int ret) mutable @@ -201,10 +201,9 @@ ClientRequest::process_op(Ref &pg) } ClientRequest::interruptible_future<> -ClientRequest::do_recover_missing(Ref& pg) +ClientRequest::do_recover_missing(Ref& pg, const hobject_t& soid) { eversion_t ver; - const hobject_t& soid = m->get_hobj(); logger().debug("{} check for recovery, {}", *this, soid); if (!pg->is_unreadable_object(soid, &ver) && !pg->is_degraded_or_backfilling_object(soid)) { diff --git a/src/crimson/osd/osd_operations/client_request.h b/src/crimson/osd/osd_operations/client_request.h index 2cf75164056f..f361838bb3fa 100644 --- a/src/crimson/osd/osd_operations/client_request.h +++ b/src/crimson/osd/osd_operations/client_request.h @@ -62,7 +62,7 @@ public: seastar::future<> start(); private: - interruptible_future<> do_recover_missing(Ref& pgref); + interruptible_future<> do_recover_missing(Ref& pgref, const hobject_t& soid); interruptible_future<> do_process( Ref& pg, crimson::osd::ObjectContextRef obc);