From a3dd5bd67ba19aae51a51318138ef10213a91449 Mon Sep 17 00:00:00 2001 From: Samuel Just Date: Wed, 9 Nov 2011 17:16:57 -0800 Subject: [PATCH] PG: update info.history even if lastmap is absent Previously, we did not update same_interval_since etc if we do not have the previous map. Signed-off-by: Samuel Just --- src/osd/PG.cc | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/src/osd/PG.cc b/src/osd/PG.cc index 7cfdfcd0630ee..a16f1cfdd0815 100644 --- a/src/osd/PG.cc +++ b/src/osd/PG.cc @@ -3525,13 +3525,6 @@ void PG::start_peering_interval(const OSDMapRef lastmap, i.acting = oldacting; i.up = oldup; - if (oldacting != acting || oldup != up) { - info.history.same_interval_since = osdmap->get_epoch(); - } - if (oldup != up) { - info.history.same_up_since = osdmap->get_epoch(); - } - if (i.acting.size()) { i.maybe_went_rw = lastmap->get_up_thru(i.acting[0]) >= i.first && @@ -3540,14 +3533,20 @@ void PG::start_peering_interval(const OSDMapRef lastmap, i.maybe_went_rw = 0; } - if (oldprimary != get_primary()) { - info.history.same_primary_since = osdmap->get_epoch(); - } - dout(10) << " noting past " << i << dendl; dirty_info = true; } + if (oldacting != acting || oldup != up) { + info.history.same_interval_since = osdmap->get_epoch(); + } + if (oldup != up) { + info.history.same_up_since = osdmap->get_epoch(); + } + if (oldprimary != get_primary()) { + info.history.same_primary_since = osdmap->get_epoch(); + } + dout(10) << " up " << oldup << " -> " << up << ", acting " << oldacting << " -> " << acting << ", role " << oldrole << " -> " << role << dendl; -- 2.39.5