]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
osd/scrub: avoid "over clearing" queued_or_active flag 54996/head
authorRonen Friedman <rfriedma@redhat.com>
Thu, 28 Dec 2023 19:41:19 +0000 (13:41 -0600)
committerRonen Friedman <rfriedma@redhat.com>
Fri, 5 Jan 2024 15:00:10 +0000 (09:00 -0600)
commit6d6cc7145636c4482b81af02993b9d83043d3ec0
treee0be96ac8b18bf73e0652791dc058f8a0ae3b973
parent569c07f979d9f0846f803565dfc35ed0f9acaba8
osd/scrub: avoid "over clearing" queued_or_active flag

If two StartScrub messages are received in quick succession, the earlier
one might clear the queued_or_active flag as it fails for being from an old
interval.
When that happens - a 3'rd scrub request will actually be allowed to go
through, while the scrubber is still handling the second one.

Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
src/osd/scrubber/pg_scrubber.cc
src/osd/scrubber/pg_scrubber.h
src/osd/scrubber/scrub_machine.cc
src/osd/scrubber/scrub_machine.h
src/osd/scrubber/scrub_machine_lstnr.h