ldpp_dout(this, 0) << "connection object to zone " << szone << " does not exist" << dendl;
return -EINVAL;
}
+
+ RGWZone* z;
+ if (!(z = store->svc()->zone->find_zone(szone))) {
+ ldpp_dout(this, 0) << "zone " << szone << " does not exist" << dendl;
+ return -EINVAL;
+ }
sources.emplace_back(&sync_env, szone, conn,
pipe.source.get_bucket_info(),
pipe.target.get_bucket(),
- pipe.handler);
+ pipe.handler, z->name);
}
return 0;
RGWBucketInfo info;
rgw_bucket dest;
RGWBucketSyncFlowManager::pipe_handler handler;
+ std::string zone_name;
source(RGWDataSyncEnv* env, const rgw_zone_id& zone, RGWRESTConn* conn,
const RGWBucketInfo& info, const rgw_bucket& dest,
- const RGWBucketSyncFlowManager::pipe_handler& handler)
- : sc(env, conn, zone), info(info), dest(dest), handler(handler) {}
+ const RGWBucketSyncFlowManager::pipe_handler& handler,
+ const std::string& zone_name)
+ : sc(env, conn, zone), info(info), dest(dest), handler(handler),
+ zone_name(zone_name) {}
};
std::vector<source> sources;