]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
osd: remove luminous compat code for removed_snaps
authorSage Weil <sage@redhat.com>
Tue, 28 May 2019 20:02:41 +0000 (15:02 -0500)
committerSage Weil <sage@redhat.com>
Tue, 2 Jul 2019 13:37:47 +0000 (08:37 -0500)
This is no longer necessary with peers >= mimic.

Signed-off-by: Sage Weil <sage@redhat.com>
src/osd/PeeringState.cc
src/osd/PeeringState.h

index 00ff42246fdca8f2843a68429cf7983aaec22cb9..39e8911467dede99e10689d86a6b0678bc65f548 100644 (file)
@@ -42,66 +42,12 @@ void PGPool::update(CephContext *cct, OSDMapRef map)
     updated = true;
   }
 
-  if (map->require_osd_release >= ceph_release_t::mimic) {
-    // mimic tracks removed_snaps_queue in the OSDmap and purged_snaps
-    // in the pg_info_t, with deltas for both in each OSDMap.  we don't
-    // need to (and can't) track it here.
-    cached_removed_snaps.clear();
-    newly_removed_snaps.clear();
-  } else {
-    // legacy (<= luminous) removed_snaps tracking
-    if (updated) {
-      if (pi->maybe_updated_removed_snaps(cached_removed_snaps)) {
-       pi->build_removed_snaps(newly_removed_snaps);
-       if (cached_removed_snaps.subset_of(newly_removed_snaps)) {
-          interval_set<snapid_t> removed_snaps = newly_removed_snaps;
-          newly_removed_snaps.subtract(cached_removed_snaps);
-          cached_removed_snaps.swap(removed_snaps);
-       } else {
-          lgeneric_subdout(cct, osd, 0) << __func__
-               << " cached_removed_snaps shrank from " << cached_removed_snaps
-               << " to " << newly_removed_snaps << dendl;
-          cached_removed_snaps.swap(newly_removed_snaps);
-          newly_removed_snaps.clear();
-       }
-      } else {
-       newly_removed_snaps.clear();
-      }
-    } else {
-      /* 1) map->get_epoch() == cached_epoch + 1 &&
-       * 2) pi->get_snap_epoch() != map->get_epoch()
-       *
-       * From the if branch, 1 && 2 must be true.  From 2, we know that
-       * this map didn't change the set of removed snaps.  From 1, we
-       * know that our cached_removed_snaps matches the previous map.
-       * Thus, from 1 && 2, cached_removed snaps matches the current
-       * set of removed snaps and all we have to do is clear
-       * newly_removed_snaps.
-       */
-      newly_removed_snaps.clear();
-    }
-    lgeneric_subdout(cct, osd, 20)
-      << "PGPool::update cached_removed_snaps "
-      << cached_removed_snaps
-      << " newly_removed_snaps "
-      << newly_removed_snaps
-      << " snapc " << snapc
-      << (updated ? " (updated)":" (no change)")
-      << dendl;
-    if (cct->_conf->osd_debug_verify_cached_snaps) {
-      interval_set<snapid_t> actual_removed_snaps;
-      pi->build_removed_snaps(actual_removed_snaps);
-      if (!(actual_removed_snaps == cached_removed_snaps)) {
-       lgeneric_derr(cct) << __func__
-                  << ": mismatch between the actual removed snaps "
-                  << actual_removed_snaps
-                  << " and pool.cached_removed_snaps "
-                  << " pool.cached_removed_snaps " << cached_removed_snaps
-                  << dendl;
-      }
-      ceph_assert(actual_removed_snaps == cached_removed_snaps);
-    }
-  }
+  assert(map->require_osd_release >= ceph_release_t::mimic);
+  // mimic tracks removed_snaps_queue in the OSDmap and purged_snaps
+  // in the pg_info_t, with deltas for both in each OSDMap.  we don't
+  // need to (and can't) track it here.
+  cached_removed_snaps.clear();
+  newly_removed_snaps.clear();
   if (info.is_pool_snaps_mode() && updated) {
     snapc = pi->get_snap_context();
   }
index d5d4881b8b04f4faad4f617511bb3e4fa23a28dc..2fa5c896a87fccad0f226402b3ac253ed599172e 100644 (file)
@@ -46,9 +46,6 @@ struct PGPool {
       name(name),
       info(info) {
     snapc = info.get_snap_context();
-    if (map->require_osd_release < ceph_release_t::mimic) {
-      info.build_removed_snaps(cached_removed_snaps);
-    }
   }
 
   void update(CephContext *cct, OSDMapRef map);