]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: data sync: rename current bucket sync crs
authorYehuda Sadeh <yehuda@redhat.com>
Mon, 19 Aug 2019 22:21:58 +0000 (15:21 -0700)
committerYehuda Sadeh <yehuda@redhat.com>
Tue, 28 Jan 2020 18:20:36 +0000 (10:20 -0800)
Add the 'pipe' term as bucket can be synced on multiple pipes.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
src/rgw/rgw_admin.cc
src/rgw/rgw_data_sync.cc
src/rgw/rgw_data_sync.h
src/rgw/rgw_sync_module_aws.cc

index bdf194f02535f8e8478eaee7cd7d3b0764bff636..d7b610446e50840446e6f7ff31637dd9431eaca6 100644 (file)
@@ -7183,7 +7183,7 @@ next:
     if (ret < 0) {
       return -ret;
     }
-    RGWBucketSyncStatusManager sync(store, source_zone, bucket);
+    RGWBucketPipeSyncStatusManager sync(store, source_zone, bucket);
 
     ret = sync.init();
     if (ret < 0) {
@@ -7244,7 +7244,7 @@ next:
     if (ret < 0) {
       return -ret;
     }
-    RGWBucketSyncStatusManager sync(store, source_zone, bucket);
+    RGWBucketPipeSyncStatusManager sync(store, source_zone, bucket);
 
     ret = sync.init();
     if (ret < 0) {
@@ -7277,7 +7277,7 @@ next:
     if (ret < 0) {
       return -ret;
     }
-    RGWBucketSyncStatusManager sync(store, source_zone, bucket);
+    RGWBucketPipeSyncStatusManager sync(store, source_zone, bucket);
 
     ret = sync.init();
     if (ret < 0) {
index 81f5686db0e83236ea2144bf04f927b7cd58f57f..a8fb37f482e6453b603a8649fd63690f67dded67 100644 (file)
@@ -1024,7 +1024,7 @@ class RGWRunBucketSyncCoroutine : public RGWCoroutine {
 public:
   RGWRunBucketSyncCoroutine(RGWDataSyncEnv *_sync_env, const rgw_bucket_shard& bs, const RGWSyncTraceNodeRef& _tn_parent)
     : RGWCoroutine(_sync_env->cct), sync_env(_sync_env),
-      status_oid(RGWBucketSyncStatusManager::status_oid(sync_env->source_zone, sync_pipe)),
+      status_oid(RGWBucketPipeSyncStatusManager::status_oid(sync_env->source_zone, sync_pipe)),
       tn(sync_env->sync_tracer->add_node(_tn_parent, "bucket",
                                          SSTR(bucket_shard_str{bs}))) {
     sync_pipe.source_bs = bs;
@@ -2071,7 +2071,7 @@ public:
                                         rgw_bucket_shard_sync_info& _status)
     : RGWCoroutine(_sync_env->cct), sync_env(_sync_env),
       sync_pipe(_sync_pipe),
-      sync_status_oid(RGWBucketSyncStatusManager::status_oid(sync_env->source_zone, _sync_pipe)),
+      sync_status_oid(RGWBucketPipeSyncStatusManager::status_oid(sync_env->source_zone, _sync_pipe)),
       status(_status)
   {}
 
@@ -2182,23 +2182,23 @@ void rgw_bucket_shard_inc_sync_marker::encode_attr(map<string, bufferlist>& attr
   encode(*this, attrs[BUCKET_SYNC_ATTR_PREFIX "inc_marker"]);
 }
 
-class RGWReadBucketSyncStatusCoroutine : public RGWCoroutine {
+class RGWReadBucketPipeSyncStatusCoroutine : public RGWCoroutine {
   RGWDataSyncEnv *sync_env;
   string oid;
   rgw_bucket_shard_sync_info *status;
 
   map<string, bufferlist> attrs;
 public:
-  RGWReadBucketSyncStatusCoroutine(RGWDataSyncEnv *_sync_env,
+  RGWReadBucketPipeSyncStatusCoroutine(RGWDataSyncEnv *_sync_env,
                                    const rgw_bucket_sync_pipe& sync_pipe,
                                    rgw_bucket_shard_sync_info *_status)
     : RGWCoroutine(_sync_env->cct), sync_env(_sync_env),
-      oid(RGWBucketSyncStatusManager::status_oid(sync_env->source_zone, sync_pipe)),
+      oid(RGWBucketPipeSyncStatusManager::status_oid(sync_env->source_zone, sync_pipe)),
       status(_status) {}
   int operate() override;
 };
 
-int RGWReadBucketSyncStatusCoroutine::operate()
+int RGWReadBucketPipeSyncStatusCoroutine::operate()
 {
   reenter(this) {
     yield call(new RGWSimpleRadosReadAttrsCR(sync_env->async_rados, sync_env->store->svc()->sysobj,
@@ -2393,11 +2393,11 @@ RGWCoroutine *RGWRemoteBucketLog::read_sync_status_cr(rgw_bucket_shard_sync_info
 #warning FIXME
   rgw_bucket_sync_pipe sync_pipe;
   sync_pipe.source_bs = bs;
-  return new RGWReadBucketSyncStatusCoroutine(&sync_env, sync_pipe, sync_status);
+  return new RGWReadBucketPipeSyncStatusCoroutine(&sync_env, sync_pipe, sync_status);
 }
 
-RGWBucketSyncStatusManager::RGWBucketSyncStatusManager(rgw::sal::RGWRadosStore *_store, const string& _source_zone,
-                                                      const rgw_bucket& bucket) : store(_store),
+RGWBucketPipeSyncStatusManager::RGWBucketPipeSyncStatusManager(rgw::sal::RGWRadosStore *_store, const string& _source_zone,
+                                                               const rgw_bucket& _dest_bucket) : store(_store),
                                                                                    cr_mgr(_store->ctx(), _store->getRados()->get_cr_registry()),
                                                                                    http_manager(store->ctx(), cr_mgr.get_completion_mgr()),
                                                                                    source_zone(_source_zone),
@@ -2407,7 +2407,7 @@ RGWBucketSyncStatusManager::RGWBucketSyncStatusManager(rgw::sal::RGWRadosStore *
 {
 }
 
-RGWBucketSyncStatusManager::~RGWBucketSyncStatusManager()
+RGWBucketPipeSyncStatusManager::~RGWBucketPipeSyncStatusManager()
 {
   for (map<int, RGWRemoteBucketLog *>::iterator iter = source_logs.begin(); iter != source_logs.end(); ++iter) {
     delete iter->second;
@@ -2415,7 +2415,7 @@ RGWBucketSyncStatusManager::~RGWBucketSyncStatusManager()
   delete error_logger;
 }
 
-CephContext *RGWBucketSyncStatusManager::get_cct() const
+CephContext *RGWBucketPipeSyncStatusManager::get_cct() const
 {
   return store->ctx();
 }
@@ -3285,10 +3285,11 @@ int RGWBucketShardIncrementalSyncCR::operate()
   return 0;
 }
 
+
 class RGWRunBucketSourcesSyncCR : public RGWCoroutine {
   RGWDataSyncEnv *sync_env;
-  rgw_bucket_shard bs;
-  rgw_bucket_source_sync_info info;
+  rgw_bucket bucket;
+  rgw_sync_source source;
   RGWMetaSyncEnv meta_sync_env;
 
   const std::string status_oid;
@@ -3299,13 +3300,13 @@ class RGWRunBucketSourcesSyncCR : public RGWCoroutine {
   RGWSyncTraceNodeRef tn;
 
 public:
-  RGWRunBucketSourcesSyncCR(RGWDataSyncEnv *_sync_env, const rgw_bucket_shard& _bs, const RGWSyncTraceNodeRef& _tn_parent)
-    : RGWCoroutine(_sync_env->cct), sync_env(_sync_env), bs(_bs),
-      status_oid(RGWBucketSyncStatusManager::status_oid(sync_env->source_zone, bs)),
+  RGWRunBucketSourcesSyncCR(RGWDataSyncEnv *_sync_env, const rgw_bucket& bucket, const RGWSyncTraceNodeRef& _tn_parent)
+    : RGWCoroutine(_sync_env->cct), sync_env(_sync_env), bucket(_bucket),
+      status_oid(RGWBucketPipeSyncStatusManager::status_oid(sync_env->source_zone, bucket)),
       tn(sync_env->sync_tracer->add_node(_tn_parent, "bucket_source",
                                          SSTR(bucket_shard_str{bs}))) {
   }
-  ~RGWRunBucketSyncCoroutine() override {
+  ~RGWRunBucketSourcesSyncCR() override {
     if (lease_cr) {
       lease_cr->abort();
     }
@@ -3391,7 +3392,7 @@ int RGWRunBucketSyncCoroutine::operate()
     }
 
     tn->log(10, "took lease");
-    yield call(new RGWReadBucketSyncStatusCoroutine(sync_env, sync_pipe, &sync_status));
+    yield call(new RGWReadBucketPipeSyncStatusCoroutine(sync_env, sync_pipe, &sync_status));
     if (retcode < 0 && retcode != -ENOENT) {
       tn->log(0, "ERROR: failed to read sync status for bucket");
       lease_cr->go_down();
@@ -3491,7 +3492,7 @@ RGWCoroutine *RGWRemoteBucketLog::run_sync_cr()
   return new RGWRunBucketSyncCoroutine(&sync_env, bs, sync_env.sync_tracer->root_node);
 }
 
-int RGWBucketSyncStatusManager::init()
+int RGWBucketPipeSyncStatusManager::init()
 {
   conn = store->svc()->zone->get_zone_conn_by_id(source_zone);
   if (!conn) {
@@ -3544,7 +3545,7 @@ int RGWBucketSyncStatusManager::init()
   return 0;
 }
 
-int RGWBucketSyncStatusManager::init_sync_status()
+int RGWBucketPipeSyncStatusManager::init_sync_status()
 {
   list<RGWCoroutinesStack *> stacks;
 
@@ -3559,7 +3560,7 @@ int RGWBucketSyncStatusManager::init_sync_status()
   return cr_mgr.run(stacks);
 }
 
-int RGWBucketSyncStatusManager::read_sync_status()
+int RGWBucketPipeSyncStatusManager::read_sync_status()
 {
   list<RGWCoroutinesStack *> stacks;
 
@@ -3581,7 +3582,7 @@ int RGWBucketSyncStatusManager::read_sync_status()
   return 0;
 }
 
-int RGWBucketSyncStatusManager::run()
+int RGWBucketPipeSyncStatusManager::run()
 {
   list<RGWCoroutinesStack *> stacks;
 
@@ -3603,25 +3604,25 @@ int RGWBucketSyncStatusManager::run()
   return 0;
 }
 
-unsigned RGWBucketSyncStatusManager::get_subsys() const
+unsigned RGWBucketPipeSyncStatusManager::get_subsys() const
 {
   return dout_subsys;
 }
 
-std::ostream& RGWBucketSyncStatusManager::gen_prefix(std::ostream& out) const
+std::ostream& RGWBucketPipeSyncStatusManager::gen_prefix(std::ostream& out) const
 {
   auto zone = std::string_view{source_zone};
   return out << "bucket sync zone:" << zone.substr(0, 8)
       << " bucket:" << bucket.name << ' ';
 }
 
-string RGWBucketSyncStatusManager::status_oid(const string& source_zone,
+string RGWBucketPipeSyncStatusManager::status_oid(const string& source_zone,
                                               const rgw_bucket_sync_pipe& sync_pipe)
 {
   return bucket_status_oid_prefix + "." + source_zone + ":" + sync_pipe.source_bs.get_key();
 }
 
-string RGWBucketSyncStatusManager::obj_status_oid(const string& source_zone,
+string RGWBucketPipeSyncStatusManager::obj_status_oid(const string& source_zone,
                                                   const rgw_obj& obj)
 {
 #warning FIXME
@@ -3656,7 +3657,7 @@ class RGWCollectBucketSyncStatusCR : public RGWShardCollectCR {
       return false;
     }
     sync_pipe.source_bs = bs;
-    spawn(new RGWReadBucketSyncStatusCoroutine(env, sync_pipe, &*i), false);
+    spawn(new RGWReadBucketPipeSyncStatusCoroutine(env, sync_pipe, &*i), false);
     ++i;
     ++bs.shard_id;
     return true;
index c67d3586e8ca15a33c1c7c9d5b03c2c908edf5d8..d14eada51c70eeb4e3f99b70bd2a1af6032ccd41 100644 (file)
@@ -564,7 +564,7 @@ public:
   std::ostream& gen_prefix(std::ostream& out) const override;
 };
 
-class RGWBucketSyncStatusManager;
+class RGWBucketPipeSyncStatusManager;
 class RGWBucketSyncCR;
 
 struct rgw_bucket_shard_full_sync_marker {
@@ -710,7 +710,7 @@ public:
   void wakeup();
 };
 
-class RGWBucketSyncStatusManager : public DoutPrefixProvider {
+class RGWBucketPipeSyncStatusManager : public DoutPrefixProvider {
   rgw::sal::RGWRadosStore *store;
 
   RGWCoroutinesManager cr_mgr;
@@ -735,9 +735,10 @@ class RGWBucketSyncStatusManager : public DoutPrefixProvider {
   int num_shards;
 
 public:
-  RGWBucketSyncStatusManager(rgw::sal::RGWRadosStore *_store, const string& _source_zone,
+  RGWBucketPipeSyncStatusManager(rgw::sal::RGWRadosStore *_store,
+                             const string& _source_zone,
                              const rgw_bucket& bucket);
-  ~RGWBucketSyncStatusManager();
+  ~RGWBucketPipeSyncStatusManager();
 
   int init();
 
index 547cfeac4ae2976af898f231984bd71ce7aedee0..3ef5dded1b154390ae0fac6d3eb1bb2fdf2fbfee 100644 (file)
@@ -1427,7 +1427,7 @@ public:
                                                    src_properties(_src_properties),
                                                    rest_obj(_rest_obj),
                                                    status_obj(sync_env->store->svc()->zone->get_zone_params().log_pool,
-                                                              RGWBucketSyncStatusManager::obj_status_oid(sync_env->source_zone, src_obj)) {
+                                                              RGWBucketPipeSyncStatusManager::obj_status_oid(sync_env->source_zone, src_obj)) {
   }