]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
osd/scrub: only telling the scrubber of 'updates' events if these events are waited for
authorRonen Friedman <rfriedma@redhat.com>
Sun, 8 Aug 2021 14:14:55 +0000 (14:14 +0000)
committerRonen Friedman <rfriedma@redhat.com>
Sat, 12 Mar 2022 15:43:35 +0000 (15:43 +0000)
commit983b6f08820c2e56cc8dcf765dd01183cc42190f
tree4be6805ce3d7333603ec076a9c399d48c87c3fe2
parentae5a674e370fd9fc53984667ce1643eee808b65a
osd/scrub: only telling the scrubber of 'updates' events if these events are waited for

Only the Primary, and only when there is an active scrubbing going on and the
scrubber state machine is in WaitUpdates states, should be notified of 'updates'.
The extra messages we queued and processed earlier, apart from creating redundant
log lines and wasting CPU time, were increasing the chance of a race in the handling
of stale scrubs.

Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
(cherry picked from commit 0aed4a5dd63b51288f1e01ca73d9e3632a1238be)
src/messages/MOSDRepScrub.h
src/osd/PrimaryLogPG.cc
src/osd/pg_scrubber.cc
src/osd/pg_scrubber.h
src/osd/scrub_machine.cc
src/osd/scrub_machine.h
src/osd/scrubber_common.h