]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: peer purges mdlog periods before master's oldest
authorCasey Bodley <cbodley@redhat.com>
Mon, 23 Jan 2017 21:31:14 +0000 (16:31 -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_sync.cc

index 74097e7f0602578d57188a4f402101d54e91f742..feb2771c3e611959c6d0f32b760ebca31d0a5d8f 100644 (file)
@@ -2699,6 +2699,15 @@ int MetaPeerTrimCR::operate()
       ldout(cct, 4) << "failed to read mdlog info from master" << dendl;
       return set_cr_error(retcode);
     }
+
+    if (mdlog_info.realm_epoch > env.last_trim_epoch + 1) {
+      // delete any prior mdlog periods
+      yield spawn(new PurgePeriodLogsCR(env.store, mdlog_info.realm_epoch,
+                                        &env.last_trim_epoch), true);
+    } else {
+      ldout(cct, 10) << "mdlogs already purged through realm_epoch "
+          << env.last_trim_epoch << dendl;
+    }
     return set_cr_done();
   }
   return 0;