diff options
author | Yehuda Sadeh <yehuda@redhat.com> | 2019-11-20 05:01:57 +0100 |
---|---|---|
committer | Yehuda Sadeh <yehuda@redhat.com> | 2020-01-28 19:20:39 +0100 |
commit | 82df2faa1dbacec1e105a23fe4907dc28d0ed940 (patch) | |
tree | 034b706f5f2196d838f8e5d1c9281d3d6d229c42 /src/rgw/rgw_cr_rados.h | |
parent | rgw: prepare for system and user mode changes (diff) | |
download | ceph-82df2faa1dbacec1e105a23fe4907dc28d0ed940.tar.xz ceph-82df2faa1dbacec1e105a23fe4907dc28d0ed940.zip |
rgw: sync: user mode sync pipes fetch objects using effective uid
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
Diffstat (limited to 'src/rgw/rgw_cr_rados.h')
-rw-r--r-- | src/rgw/rgw_cr_rados.h | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/rgw/rgw_cr_rados.h b/src/rgw/rgw_cr_rados.h index f5c8f67b2b8..289ff546486 100644 --- a/src/rgw/rgw_cr_rados.h +++ b/src/rgw/rgw_cr_rados.h @@ -920,6 +920,8 @@ class RGWAsyncFetchRemoteObj : public RGWAsyncRadosRequest { rgw::sal::RGWRadosStore *store; rgw_zone_id source_zone; + std::optional<rgw_user> user_id; + rgw_bucket src_bucket; std::optional<rgw_placement_rule> dest_placement_rule; RGWBucketInfo dest_bucket_info; @@ -941,6 +943,7 @@ protected: public: RGWAsyncFetchRemoteObj(RGWCoroutine *caller, RGWAioCompletionNotifier *cn, rgw::sal::RGWRadosStore *_store, const rgw_zone_id& _source_zone, + std::optional<rgw_user>& _user_id, const rgw_bucket& _src_bucket, std::optional<rgw_placement_rule> _dest_placement_rule, const RGWBucketInfo& _dest_bucket_info, @@ -953,6 +956,7 @@ public: PerfCounters* counters, const DoutPrefixProvider *dpp) : RGWAsyncRadosRequest(caller, cn), store(_store), source_zone(_source_zone), + user_id(_user_id), src_bucket(_src_bucket), dest_placement_rule(_dest_placement_rule), dest_bucket_info(_dest_bucket_info), @@ -976,6 +980,8 @@ class RGWFetchRemoteObjCR : public RGWSimpleCoroutine { rgw::sal::RGWRadosStore *store; rgw_zone_id source_zone; + std::optional<rgw_user> user_id; + rgw_bucket src_bucket; std::optional<rgw_placement_rule> dest_placement_rule; RGWBucketInfo dest_bucket_info; @@ -998,6 +1004,7 @@ class RGWFetchRemoteObjCR : public RGWSimpleCoroutine { public: RGWFetchRemoteObjCR(RGWAsyncRadosProcessor *_async_rados, rgw::sal::RGWRadosStore *_store, const rgw_zone_id& _source_zone, + std::optional<rgw_user> _user_id, const rgw_bucket& _src_bucket, std::optional<rgw_placement_rule> _dest_placement_rule, const RGWBucketInfo& _dest_bucket_info, @@ -1011,6 +1018,7 @@ public: : RGWSimpleCoroutine(_store->ctx()), cct(_store->ctx()), async_rados(_async_rados), store(_store), source_zone(_source_zone), + user_id(_user_id), src_bucket(_src_bucket), dest_placement_rule(_dest_placement_rule), dest_bucket_info(_dest_bucket_info), @@ -1036,7 +1044,7 @@ public: int send_request() override { req = new RGWAsyncFetchRemoteObj(this, stack->create_completion_notifier(), store, - source_zone, src_bucket, dest_placement_rule, dest_bucket_info, + source_zone, user_id, src_bucket, dest_placement_rule, dest_bucket_info, key, dest_key, versioned_epoch, copy_if_newer, filter, zones_trace, counters, dpp); async_rados->queue(req); |