From 2a61a39d4c3f268ee4919607ac8a4edc5984a9e9 Mon Sep 17 00:00:00 2001 From: Samuel Just Date: Fri, 2 Apr 2021 23:06:14 +0000 Subject: [PATCH] osd/PeeringState: fix get_backfill_priority min_size comparison acting has placeholders for ec, need to use actingset. Signed-off-by: Samuel Just (cherry picked from commit 7b2e0f4fd1c9071495dae9189428aa1cb8774c30) --- src/osd/PeeringState.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/osd/PeeringState.cc b/src/osd/PeeringState.cc index a1ccfea9ab454..6274d2959ab5e 100644 --- a/src/osd/PeeringState.cc +++ b/src/osd/PeeringState.cc @@ -1054,10 +1054,10 @@ unsigned PeeringState::get_backfill_priority() if (state & PG_STATE_FORCED_BACKFILL) { ret = OSD_BACKFILL_PRIORITY_FORCED; } else { - if (acting.size() < pool.info.min_size) { + if (actingset.size() < pool.info.min_size) { base = OSD_BACKFILL_INACTIVE_PRIORITY_BASE; // inactive: no. of replicas < min_size, highest priority since it blocks IO - ret = base + (pool.info.min_size - acting.size()); + ret = base + (pool.info.min_size - actingset.size()); } else if (is_undersized()) { // undersized: OSD_BACKFILL_DEGRADED_PRIORITY_BASE + num missing replicas -- 2.39.5