]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
crimson/osd: defer snap trimming while scrubbing 68735/head
authorRonen Friedman <rfriedma@redhat.com>
Sat, 2 May 2026 15:53:49 +0000 (15:53 +0000)
committerRonen Friedman <rfriedma@redhat.com>
Tue, 5 May 2026 16:41:37 +0000 (16:41 +0000)
commitb6d39ff0a9d1e471c9091e0fc5d625e0c0d4b099
tree4d6ce03e0c61971fdfbab472f55e95a075657165
parent6666bacf8290e88fe67a9357f37a594572f91fc2
crimson/osd: defer snap trimming while scrubbing

Classic OSD enforces mutual exclusion between scrubbing and snap
trimming via the WaitScrub state in the snap trim state machine.
Crimson was missing this, allowing both to run concurrently on the
same PG (visible as active+clean+scrubbing+deep+snaptrim), which
could prevent snap trimming from completing within the expected
timeout.

Defer snap trim initiation while PG_STATE_SCRUBBING is set, and
re-trigger it from notify_scrub_end() via kick_snap_trim().

This is a temporary fix until the full scrub scheduling code,
including is_scrub_queued_or_active(), is merged.

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