]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
crimson/scrub: fix assert in PGScrubber::release_range() on interval change 69064/head
authorKefu Chai <k.chai@proxmox.com>
Fri, 22 May 2026 11:01:17 +0000 (19:01 +0800)
committerKefu Chai <k.chai@proxmox.com>
Sat, 23 May 2026 13:06:51 +0000 (21:06 +0800)
commit60acfdd102f0abb33874d24fd51119fcb53c8762
treee44b9cefe77918aeace58995dec35f5e06614af3
parent205024db46669d1aceb2a648c84fd47dda6b4d21
crimson/scrub: fix assert in PGScrubber::release_range() on interval change

when an interval change occurs while ScrubReserveRange is still
waiting to acquire background_process_lock, ChunkState::exit()
calls release_range() but blocked is not yet set. this triggers
ceph_assert(blocked) in release_range().

fix by checking if blocked is set before asserting. if blocked is
not set, the range was never reserved, so release_range() is a
no-op. ScrubReserveRange's finally block handles lock cleanup in
this case.

Fixes: https://tracker.ceph.com/issues/76752
Signed-off-by: Kefu Chai <k.chai@proxmox.com>
src/crimson/osd/scrub/pg_scrubber.cc