]> git.apps.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>
Tue, 23 Jan 2018 16:24:54 +0000 (11:24 -0500)
Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit 6cde60e954e60ff77e93b93e8c5bd7059f6a2644)

src/rgw/rgw_sync.cc

index 84de084565bc86151c128f18f960b21da08a18f2..df2b067bd0775080c7e6519c2537ebffb531efbf 100644 (file)
@@ -2674,6 +2674,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;