sync.wakeup(*iter);
}
}
+ RGWMetaSyncStatusManager* get_manager() { return &sync; }
int init() {
int ret = sync.init();
sync.wakeup(iter->first, iter->second);
}
}
-
+ RGWDataSyncStatusManager* get_manager() { return &sync; }
int init() {
return 0;
thread->wakeup_sync_shards(shard_ids);
}
+RGWMetaSyncStatusManager* RGWRados::get_meta_sync_manager()
+{
+ Mutex::Locker l(meta_sync_thread_lock);
+ if (meta_sync_processor_thread) {
+ return meta_sync_processor_thread->get_manager();
+ }
+ return nullptr;
+}
+
+RGWDataSyncStatusManager* RGWRados::get_data_sync_manager(const std::string& source_zone)
+{
+ Mutex::Locker l(data_sync_thread_lock);
+ auto thread = data_sync_processor_threads.find(source_zone);
+ if (thread == data_sync_processor_threads.end()) {
+ return nullptr;
+ }
+ return thread->second->get_manager();
+}
+
int RGWRados::get_required_alignment(rgw_bucket& bucket, uint64_t *alignment)
{
IoCtx ioctx;
WRITE_CLASS_ENCODER(RGWPeriod)
class RGWDataChangesLog;
+class RGWMetaSyncStatusManager;
+class RGWDataSyncStatusManager;
class RGWReplicaLogger;
class RGWCoroutinesManagerRegistry;
void wakeup_meta_sync_shards(set<int>& shard_ids);
void wakeup_data_sync_shards(const string& source_zone, map<int, set<string> >& shard_ids);
+ RGWMetaSyncStatusManager* get_meta_sync_manager();
+ RGWDataSyncStatusManager* get_data_sync_manager(const std::string& source_zone);
+
int set_bucket_owner(rgw_bucket& bucket, ACLOwner& owner);
int set_buckets_enabled(std::vector<rgw_bucket>& buckets, bool enabled);
int bucket_suspended(rgw_bucket& bucket, bool *suspended);