real_time src_mtime;
bool copy_if_newer;
+ rgw_zone_set *zones_trace;
protected:
int _send_request() override;
RGWBucketInfo& _bucket_info,
const rgw_obj_key& _key,
uint64_t _versioned_epoch,
- bool _if_newer) : RGWAsyncRadosRequest(caller, cn), store(_store),
+ bool _if_newer, rgw_zone_set *_zones_trace) : RGWAsyncRadosRequest(caller, cn), store(_store),
source_zone(_source_zone),
bucket_info(_bucket_info),
key(_key),
versioned_epoch(_versioned_epoch),
- copy_if_newer(_if_newer) {}
+ copy_if_newer(_if_newer), zones_trace(_zones_trace) {}
};
class RGWFetchRemoteObjCR : public RGWSimpleCoroutine {
bool copy_if_newer;
RGWAsyncFetchRemoteObj *req;
+ rgw_zone_set *zones_trace;
public:
RGWFetchRemoteObjCR(RGWAsyncRadosProcessor *_async_rados, RGWRados *_store,
RGWBucketInfo& _bucket_info,
const rgw_obj_key& _key,
uint64_t _versioned_epoch,
- bool _if_newer) : RGWSimpleCoroutine(_store->ctx()), cct(_store->ctx()),
+ bool _if_newer, rgw_zone_set *_zones_trace) : RGWSimpleCoroutine(_store->ctx()), cct(_store->ctx()),
async_rados(_async_rados), store(_store),
source_zone(_source_zone),
bucket_info(_bucket_info),
key(_key),
versioned_epoch(_versioned_epoch),
- copy_if_newer(_if_newer), req(NULL) {}
+ copy_if_newer(_if_newer), req(NULL), zones_trace(_zones_trace) {}
~RGWFetchRemoteObjCR() override {
int send_request() override {
req = new RGWAsyncFetchRemoteObj(this, stack->create_completion_notifier(), store, source_zone, bucket_info,
- key, versioned_epoch, copy_if_newer);
+ key, versioned_epoch, copy_if_newer, zones_trace);
async_rados->queue(req);
return 0;
}
bool del_if_older;
ceph::real_time timestamp;
+ rgw_zone_set *zones_trace;
protected:
int _send_request() override;
uint64_t _versioned_epoch,
bool _delete_marker,
bool _if_older,
- real_time& _timestamp) : RGWAsyncRadosRequest(caller, cn), store(_store),
+ real_time& _timestamp,
+ rgw_zone_set* _zones_trace) : RGWAsyncRadosRequest(caller, cn), store(_store),
source_zone(_source_zone),
bucket_info(_bucket_info),
key(_key),
versioned(_versioned),
versioned_epoch(_versioned_epoch),
del_if_older(_if_older),
- timestamp(_timestamp) {
+ timestamp(_timestamp), zones_trace(_zones_trace) {
if (_delete_marker) {
marker_version_id = key.instance;
}
real_time timestamp;
RGWAsyncRemoveObj *req;
+
+ rgw_zone_set *zones_trace;
public:
RGWRemoveObjCR(RGWAsyncRadosProcessor *_async_rados, RGWRados *_store,
string *_owner,
string *_owner_display_name,
bool _delete_marker,
- real_time *_timestamp) : RGWSimpleCoroutine(_store->ctx()), cct(_store->ctx()),
+ real_time *_timestamp,
+ rgw_zone_set *_zones_trace) : RGWSimpleCoroutine(_store->ctx()), cct(_store->ctx()),
async_rados(_async_rados), store(_store),
source_zone(_source_zone),
bucket_info(_bucket_info),
key(_key),
versioned(_versioned),
versioned_epoch(_versioned_epoch),
- delete_marker(_delete_marker), req(NULL) {
+ delete_marker(_delete_marker), req(NULL), zones_trace(_zones_trace) {
del_if_older = (_timestamp != NULL);
if (_timestamp) {
timestamp = *_timestamp;
int send_request() override {
req = new RGWAsyncRemoveObj(this, stack->create_completion_notifier(), store, source_zone, bucket_info,
key, owner, owner_display_name, versioned, versioned_epoch,
- delete_marker, del_if_older, timestamp);
+ delete_marker, del_if_older, timestamp, zones_trace);
async_rados->queue(req);
return 0;
}