From a2cb690d8d8dee46f194e25bfe98fb0099a27bd5 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Thu, 19 May 2011 23:40:12 -0700 Subject: [PATCH] osd: include past acting osds if they were up This fixes a bug where we were excluding up (but not acting) nodes from past intervals, which in turn was triggering a nasty choose_acting loop (because we _do_ already include acting but !up from the current interval). Signed-off-by: Sage Weil --- src/osd/PG.cc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/osd/PG.cc b/src/osd/PG.cc index 37996fe6a419..919dce1bcd71 100644 --- a/src/osd/PG.cc +++ b/src/osd/PG.cc @@ -4830,6 +4830,9 @@ PG::PgPriorSet::PgPriorSet(int whoami, } if (osdmap.is_up(o)) { // is up now + // include past acting osds if they are up + cur.insert(o); + // did any osds survive _this_ interval? any_survived = true; } else if (!pinfo || pinfo->lost_at > interval.first) { -- 2.47.3