]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
osd/scrub: the scrub queue now holds a copy of the ScrubJob
authorRonen Friedman <rfriedma@redhat.com>
Thu, 13 Jun 2024 10:38:29 +0000 (05:38 -0500)
committerRonen Friedman <rfriedma@redhat.com>
Tue, 16 Jul 2024 14:19:32 +0000 (09:19 -0500)
commit3edb4317fd86d32542e20c5fc9ef04369320f0fb
tree3b6b998b651c33fdfab1213b3ed794757b9e5ddd
parent16ad488d27d4c0b664e9efa3ead9e0fe9d1f2316
osd/scrub: the scrub queue now holds a copy of the ScrubJob

... and not a shared pointer to it.
The PG's entry in the scrub queue and the scrub-job object that
is part of the scrubber are now separate entities, that can be
modified separately - each with its own locking mechanism.

the interaction between OsdScrub (the OSD's scrub scheduler
object) and the scrub queue during scrub initiation is simplified:
instead of fetching from the queue a list of scrub targets
possibly ready to be scrubbed, the OsdScrub now picks only one
candidate - the top of the queue.

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