From 70f3ddbab5487a714f84299c057078661f1d1298 Mon Sep 17 00:00:00 2001 From: Aishwarya Mathuria Date: Thu, 13 Jan 2022 18:17:59 +0530 Subject: [PATCH] src/osd: reset objects_scrubbed count at the beginning of a new scrub Signed-off-by: Aishwarya Mathuria --- src/osd/PG.h | 12 ++++++++++++ src/osd/scrubber/pg_scrubber.cc | 7 ++----- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/src/osd/PG.h b/src/osd/PG.h index e56c61f4959..59469602405 100644 --- a/src/osd/PG.h +++ b/src/osd/PG.h @@ -295,6 +295,18 @@ public: }); } + static void reset_objects_scrubbed(pg_stat_t &stats) { + stats.objects_scrubbed = 0; + } + + void reset_objects_scrubbed() { + recovery_state.update_stats( + [=](auto &history, auto &stats) { + reset_objects_scrubbed(stats); + return true; + }); + } + bool is_deleting() const { return recovery_state.is_deleting(); } diff --git a/src/osd/scrubber/pg_scrubber.cc b/src/osd/scrubber/pg_scrubber.cc index 58879e0c2a0..7966b0d1cc7 100644 --- a/src/osd/scrubber/pg_scrubber.cc +++ b/src/osd/scrubber/pg_scrubber.cc @@ -950,7 +950,7 @@ void PgScrubber::on_init() { // going upwards from 'inactive' ceph_assert(!is_scrub_active()); - + m_pg->reset_objects_scrubbed(); preemption_data.reset(); m_pg->publish_stats_to_osd(); m_interval_start = m_pg->get_history().same_interval_since; @@ -1370,8 +1370,6 @@ void PgScrubber::scrub_compare_maps() { dout(10) << __func__ << " has maps, analyzing" << dendl; - int64_t primary_objects = 0; - // construct authoritative scrub map for type-specific scrubbing m_cleaned_meta_map.insert(m_primary_scrubmap); map, std::optional>> missing_digest; @@ -1412,8 +1410,7 @@ void PgScrubber::scrub_compare_maps() dout(2) << __func__ << ": primary (" << m_pg->get_primary() << ") has " << m_primary_scrubmap.objects.size() << " items" << dendl; - primary_objects = m_primary_scrubmap.objects.size(); - m_pg->add_objects_scrubbed_count(primary_objects); + m_pg->add_objects_scrubbed_count(m_primary_scrubmap.objects.size()); ss.str(""); ss.clear(); -- 2.39.5