trim_interval));
stacks.push_back(meta);
- auto data = new RGWCoroutinesStack(store->ctx(), &crs);
- data->call(create_data_log_trim_cr(store, &http,
- cct->_conf->rgw_data_log_num_shards,
- trim_interval));
- stacks.push_back(data);
+ if (store->svc()->zone->sync_module_exports_data()) {
+ auto data = new RGWCoroutinesStack(store->ctx(), &crs);
+ data->call(create_data_log_trim_cr(store, &http,
+ cct->_conf->rgw_data_log_num_shards,
+ trim_interval));
+ stacks.push_back(data);
- auto bucket = new RGWCoroutinesStack(store->ctx(), &crs);
- bucket->call(bucket_trim->create_bucket_trim_cr(&http));
- stacks.push_back(bucket);
+ auto bucket = new RGWCoroutinesStack(store->ctx(), &crs);
+ bucket->call(bucket_trim->create_bucket_trim_cr(&http));
+ stacks.push_back(bucket);
+ }
crs.run(stacks);
return 0;
}
writeable_zone = sm->supports_writes();
+ exports_data = sm->supports_data_export();
/* first build all zones index */
for (auto ziter : zonegroup->zones) {
return writeable_zone && !get_zone().is_read_only();
}
-bool RGWSI_Zone::sync_module_supports_writes() const
-{
- return writeable_zone;
-}
-
uint32_t RGWSI_Zone::get_zone_short_id() const
{
return zone_short_id;
rgw_zone_id cur_zone_id;
uint32_t zone_short_id{0};
bool writeable_zone{false};
+ bool exports_data{false};
std::shared_ptr<RGWBucketSyncPolicyHandler> sync_policy_handler;
std::map<rgw_zone_id, std::shared_ptr<RGWBucketSyncPolicyHandler> > sync_policy_handlers;
bool zone_is_writeable();
bool zone_syncs_from(const RGWZone& target_zone, const RGWZone& source_zone) const;
bool get_redirect_zone_endpoint(string *endpoint);
- bool sync_module_supports_writes() const;
+ bool sync_module_supports_writes() const { return writeable_zone; }
+ bool sync_module_exports_data() const { return exports_data; }
RGWRESTConn *get_master_conn() {
return rest_master_conn;