From 1fd2819724bebaad20b71b19ddf7fca708bcd8dd Mon Sep 17 00:00:00 2001 From: Vitaliy Filippov Date: Wed, 13 May 2026 01:52:18 +0300 Subject: [PATCH] Fix marking only first OSD from non-majority group as corrupted during scrub Note: Could be tested with 5 replicas - 3 good and 2 corrupted if we had OSD unit tests --- src/osd/osd_scrub.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/osd/osd_scrub.cpp b/src/osd/osd_scrub.cpp index 3b572836..c66ffbc8 100644 --- a/src/osd/osd_scrub.cpp +++ b/src/osd/osd_scrub.cpp @@ -505,7 +505,7 @@ void osd_t::scrub_check_results(osd_op_t *cur_op) { unknown = true; } - if (votes[role] > 0 && votes[role] < votes[best]) + if (eq_to[role] != -1 && votes[eq_to[role]] > 0 && votes[eq_to[role]] < votes[best]) { printf( "[PG %u/%u] Object %jx:%jx v%ju copy on OSD %ju doesn't match %d other copies%s\n",