From: Casey Bodley Date: Tue, 31 Mar 2020 13:23:22 +0000 (-0400) Subject: rgw: RadosRemoveCR takes objv_tracker X-Git-Tag: v16.1.0~2586^2~5 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=91d326c16401c163c157fedd19933cc56a80dbe6;p=ceph.git rgw: RadosRemoveCR takes objv_tracker Signed-off-by: Casey Bodley --- diff --git a/src/rgw/rgw_cr_rados.cc b/src/rgw/rgw_cr_rados.cc index f0d46ba83a61..149ec341934c 100644 --- a/src/rgw/rgw_cr_rados.cc +++ b/src/rgw/rgw_cr_rados.cc @@ -399,8 +399,10 @@ int RGWRadosRemoveOmapKeysCR::request_complete() return r; } -RGWRadosRemoveCR::RGWRadosRemoveCR(rgw::sal::RGWRadosStore *store, const rgw_raw_obj& obj) - : RGWSimpleCoroutine(store->ctx()), store(store), obj(obj) +RGWRadosRemoveCR::RGWRadosRemoveCR(rgw::sal::RGWRadosStore *store, const rgw_raw_obj& obj, + RGWObjVersionTracker* objv_tracker) + : RGWSimpleCoroutine(store->ctx()), + store(store), obj(obj), objv_tracker(objv_tracker) { set_description() << "remove dest=" << obj; } @@ -418,6 +420,9 @@ int RGWRadosRemoveCR::send_request() set_status() << "send request"; librados::ObjectWriteOperation op; + if (objv_tracker) { + objv_tracker->prepare_op_for_write(&op); + } op.remove(); cn = stack->create_completion_notifier(); diff --git a/src/rgw/rgw_cr_rados.h b/src/rgw/rgw_cr_rados.h index df31131e2176..82bf8e5d13cc 100644 --- a/src/rgw/rgw_cr_rados.h +++ b/src/rgw/rgw_cr_rados.h @@ -667,10 +667,12 @@ class RGWRadosRemoveCR : public RGWSimpleCoroutine { rgw::sal::RGWRadosStore *store; librados::IoCtx ioctx; const rgw_raw_obj obj; + RGWObjVersionTracker* objv_tracker; boost::intrusive_ptr cn; public: - RGWRadosRemoveCR(rgw::sal::RGWRadosStore *store, const rgw_raw_obj& obj); + RGWRadosRemoveCR(rgw::sal::RGWRadosStore *store, const rgw_raw_obj& obj, + RGWObjVersionTracker* objv_tracker = nullptr); int send_request() override; int request_complete() override;