]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: RGWSyncLogTrimThread runs mdlog trim
authorCasey Bodley <cbodley@redhat.com>
Mon, 23 Jan 2017 21:38:48 +0000 (16:38 -0500)
committerCasey Bodley <cbodley@redhat.com>
Thu, 27 Apr 2017 14:39:22 +0000 (10:39 -0400)
Signed-off-by: Casey Bodley <cbodley@redhat.com>
src/rgw/rgw_rados.cc
src/rgw/rgw_sync.cc
src/rgw/rgw_sync.h

index 5667ebd9817dce0faacd2eceabfcab19815ed5db..facbc129a2713085827b88c27a914dc69079f475 100644 (file)
@@ -3223,9 +3223,20 @@ public:
     return http.set_threaded();
   }
   int process() override {
-    crs.run(create_data_log_trim_cr(store, &http,
-                                    cct->_conf->rgw_data_log_num_shards,
-                                    trim_interval));
+    list<RGWCoroutinesStack*> stacks;
+    auto meta = new RGWCoroutinesStack(store->ctx(), &crs);
+    meta->call(create_meta_log_trim_cr(store, &http,
+                                       cct->_conf->rgw_md_log_max_shards,
+                                       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);
+
+    crs.run(stacks);
     return 0;
   }
 };
index f6c46e34dc320ddfd063626c7da642907b8f584d..f402916fcdfefb59bd579fc98de7472c68d135eb 100644 (file)
@@ -2953,3 +2953,12 @@ class MetaPeerTrimPollCR : public MetaTrimPollCR {
       env(store, http, num_shards)
   {}
 };
+
+RGWCoroutine* create_meta_log_trim_cr(RGWRados *store, RGWHTTPManager *http,
+                                      int num_shards, utime_t interval)
+{
+  if (store->is_meta_master()) {
+    return new MetaMasterTrimPollCR(store, http, num_shards, interval);
+  }
+  return new MetaPeerTrimPollCR(store, http, num_shards, interval);
+}
index 7a39bd68eea2c693fedce8f8ce1a2b8a70ed305d..0f1719b279fb368e4662c3b63bccf49ba599350a 100644 (file)
@@ -450,4 +450,8 @@ public:
   int operate() override;
 };
 
+// MetaLogTrimCR factory function
+RGWCoroutine* create_meta_log_trim_cr(RGWRados *store, RGWHTTPManager *http,
+                                      int num_shards, utime_t interval);
+
 #endif