]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
osd/scrub: stop sending bogus digest-update events 45194/head
authorRonen Friedman <rfriedma@redhat.com>
Mon, 28 Feb 2022 11:25:51 +0000 (11:25 +0000)
committerRonen Friedman <rfriedma@redhat.com>
Thu, 10 Mar 2022 07:22:20 +0000 (09:22 +0200)
A backport of a fix (PR #45068, commit e1b5347) made in Quincy.
Direct cherry-picking failed, due to the major Scrub code
refactoring in-between.

Fixes: http://tracker.ceph.com/issues/54423
Manual backport of https://github.com/ceph/ceph/commit/e1b5347b81d17c8a5a1f6e1d4d76d18977ec2b0c
Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
src/osd/PrimaryLogScrub.cc

index 1a14dbcd63f3f738de10f1a4406430068faa8d0e..9244be253c2e0f19140b392162c49acdb15a97f1 100644 (file)
@@ -546,8 +546,8 @@ void PrimaryLogScrub::scrub_snapshot_metadata(ScrubMap& scrubmap,
 
     ++num_digest_updates_pending;
     ctx->register_on_success([this]() {
-      dout(20) << "updating scrub digest " << num_digest_updates_pending << dendl;
-      if (--num_digest_updates_pending <= 0) {
+      if ((num_digest_updates_pending >= 1) && 
+          (--num_digest_updates_pending == 0)) {
        m_osds->queue_scrub_digest_update(m_pl_pg, m_pl_pg->is_scrub_blocking_ops());
       }
     });