From df1088f2211beebb72e64ce124cec9d5dcf07417 Mon Sep 17 00:00:00 2001 From: David Zafman Date: Wed, 31 Jan 2018 18:31:15 -0800 Subject: [PATCH] osd: Always build peer_missing (including strays) for _update_calc_stats() Fixes: http://tracker.ceph.com/issues/22837 Signed-off-by: David Zafman (cherry picked from commit 0e9d64387547f4586194f1a41f21ff07462d8d34) --- src/osd/PG.cc | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/osd/PG.cc b/src/osd/PG.cc index 29d200b810e1..b29cbd48c869 100644 --- a/src/osd/PG.cc +++ b/src/osd/PG.cc @@ -693,7 +693,6 @@ void PG::discover_all_missing(map > &query_map) { auto &missing = pg_log.get_missing(); uint64_t unfound = get_num_unfound(); - assert(unfound > 0); dout(10) << __func__ << " " << missing.num_missing() << " missing, " @@ -1836,8 +1835,8 @@ void PG::activate(ObjectStore::Transaction& t, build_might_have_unfound(); - if (have_unfound()) - discover_all_missing(query_map); + // Always call now so _update_calc_stats() will be accurate + discover_all_missing(query_map); } // num_objects_degraded if calculated should reflect this too, unless no -- 2.47.3