From 2dfab74ae73c1a4e8a30f056ad61ff6d7b0914a8 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Sun, 5 Nov 2017 15:17:04 -0600 Subject: [PATCH] osd: drop max behavior, return value in advance_pg This is no longer needed/used. Signed-off-by: Sage Weil --- src/osd/OSD.cc | 29 ++++------------------------- src/osd/OSD.h | 6 ++---- 2 files changed, 6 insertions(+), 29 deletions(-) diff --git a/src/osd/OSD.cc b/src/osd/OSD.cc index edd8edfd958..cdd31cb9778 100644 --- a/src/osd/OSD.cc +++ b/src/osd/OSD.cc @@ -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 *new_pgs, - bool no_max) + set *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 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(); diff --git a/src/osd/OSD.h b/src/osd/OSD.h index d0230ca4bb5..3799c937c07 100644 --- a/src/osd/OSD.h +++ b/src/osd/OSD.h @@ -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 *split_pgs, - bool no_max - ); + set *split_pgs); void consume_map(); void activate_map(); -- 2.39.5