From: David Zafman Date: Thu, 1 Feb 2018 02:31:15 +0000 (-0800) Subject: osd: Always build peer_missing (including strays) for _update_calc_stats() X-Git-Tag: v12.2.9~81^2~8 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=df1088f2211beebb72e64ce124cec9d5dcf07417;p=ceph.git 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) --- 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