]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
osd: drop max behavior, return value in advance_pg
authorSage Weil <sage@redhat.com>
Sun, 5 Nov 2017 21:17:04 +0000 (15:17 -0600)
committerSage Weil <sage@redhat.com>
Mon, 4 Dec 2017 18:45:17 +0000 (12:45 -0600)
This is no longer needed/used.

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

index edd8edfd958cb5b81b4ad2d73294d19dd34f7869..cdd31cb9778d56c7b6baa1fda3bd8e633ce93fec 100644 (file)
@@ -7763,38 +7763,24 @@ void OSD::check_osdmap_features()
   }
 }
 
-bool OSD::advance_pg(
+void OSD::advance_pg(
   epoch_t osd_epoch, PG *pg,
   ThreadPool::TPHandle &handle,
   PG::RecoveryCtx *rctx,
-  set<PGRef> *new_pgs,
-  bool no_max)
+  set<PGRef> *new_pgs)
 {
   assert(pg->is_locked());
   epoch_t next_epoch = pg->get_osdmap()->get_epoch() + 1;
   OSDMapRef lastmap = pg->get_osdmap();
 
-  if (lastmap->get_epoch() == osd_epoch)
-    return true;
   assert(lastmap->get_epoch() < osd_epoch);
 
-  epoch_t min_epoch = service.get_min_pg_epoch();
-  epoch_t max;
-  if (min_epoch) {
-    max = min_epoch + cct->_conf->osd_map_max_advance;
-  } else {
-    max = next_epoch + cct->_conf->osd_map_max_advance;
-  }
-
   for (;
-       next_epoch <= osd_epoch && (no_max || next_epoch <= max);
+       next_epoch <= osd_epoch;
        ++next_epoch) {
     OSDMapRef nextmap = service.try_get_map(next_epoch);
     if (!nextmap) {
       dout(20) << __func__ << " missing map " << next_epoch << dendl;
-      // make sure max is bumped up so that we can get past any
-      // gap in maps
-      max = MAX(max, next_epoch + cct->_conf->osd_map_max_advance);
       continue;
     }
 
@@ -7826,13 +7812,6 @@ bool OSD::advance_pg(
   }
   service.pg_update_epoch(pg->pg_id, lastmap->get_epoch());
   pg->handle_activate_map(rctx);
-  if (next_epoch <= osd_epoch) {
-    dout(10) << __func__ << " advanced to max " << max
-            << " past min epoch " << min_epoch
-            << " ... will requeue " << *pg << dendl;
-    return false;
-  }
-  return true;
 }
 
 void OSD::consume_map()
@@ -9260,7 +9239,7 @@ void OSD::dequeue_peering_evt(
   PG::RecoveryCtx rctx = create_context();
   set<PGRef> split_pgs;
   if (curmap->get_epoch() > pg->get_osdmap()->get_epoch()) {
-    advance_pg(curmap->get_epoch(), pg, handle, &rctx, &split_pgs, true);
+    advance_pg(curmap->get_epoch(), pg, handle, &rctx, &split_pgs);
   }
   pg->do_peering_event(evt, &rctx);
   auto need_up_thru = pg->get_need_up_thru();
index d0230ca4bb5c95bd8335872d20079fd25f47a755..3799c937c072de2d0b122ab13f17c2b3b532ebdc 100644 (file)
@@ -1837,13 +1837,11 @@ private:
   void note_up_osd(int osd);
   friend class C_OnMapCommit;
 
-  bool advance_pg(
+  void advance_pg(
     epoch_t advance_to, PG *pg,
     ThreadPool::TPHandle &handle,
     PG::RecoveryCtx *rctx,
-    set<PGRef> *split_pgs,
-    bool no_max
-  );
+    set<PGRef> *split_pgs);
   void consume_map();
   void activate_map();