]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commit
osd/scrub: delay both targets on some failures
authorRonen Friedman <rfriedma@redhat.com>
Sat, 17 Aug 2024 16:08:19 +0000 (11:08 -0500)
committerRonen Friedman <rfriedma@redhat.com>
Sun, 25 Aug 2024 13:01:00 +0000 (08:01 -0500)
commit5ed435bffd46e3df84fe097f202208b54bade52c
treec0255e6217b91bd97e479f02f1cb5aa39bc83618
parent8aa48dc64ad87da631659f35120bd5c9df57edf4
osd/scrub: delay both targets on some failures

If the failure of a scrub-job is due to a condition that affects
both targets, both should be delayed. Otherwise, we may end up
with the following bogus scenario:

A high priority deep target is scheduled, but scrub session initiation
fails due to, for example, a concurrent snap trim. The deep target
will be delayed. A second initiation attempt may happen after the
snap trimming is done, but before the updated deep target not-before.
As a result - the lower priority target will be scheduled before the
higher priority one - which is a bug.

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