osd/scrub: check all(*) conditions in restrictions_on_scrubbing()
Modified OsdScrub::restrictions_on_scrubbing() to check all(*)
conditions, instead of stopping at the first one that is true.
The "new" (since Tentacle) scrub-type-to-conditions mapping is no
longer a simple one (is not "monotonic" in the sense of restrictions
always being removed as the scrub type is more important),
and the caller may want to know them all.
(*) The somewhat costly check for the random backoff is still only
performed if the OSD is not already running too many scrubs.
Fixes: https://tracker.ceph.com/issues/71169
Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
(cherry picked from commit
5a3a4f73476580b44442a30c8404a62b5055c96d)