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>
++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());
}
});