]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
osd/PG: do not queue scrub if PG is not active when unblock 28660/head
authorSage Weil <sage@redhat.com>
Wed, 19 Jun 2019 19:20:32 +0000 (14:20 -0500)
committerSage Weil <sage@redhat.com>
Wed, 19 Jun 2019 19:20:44 +0000 (14:20 -0500)
commit7a3227e946332c0bdc983201fe4a4e83cfe6fda6
treedeec13aebe587ea0c094ab3f4419d2c10ac0f0b4
parent692b78891f0afedaf641c0dfb0c0a01805a00ea2
osd/PG: do not queue scrub if PG is not active when unblock

- we are scrubbing
- we block scrub on an object
- we have an interval reset on epoch X
- we unblock and queue scrub in epoch X
- we finish the reset (we are no longer scrubbing)
- we process the PGScrub on epoch X, it is still epoch X, and we are not
  scrubbing
  -> assert

Fix by not queueing scrub if we are unblocking and the PG is no longer
active (because we are mid-way through the peering reset).

Fixes: http://tracker.ceph.com/issues/40451
Signed-off-by: Sage Weil <sage@redhat.com>
src/osd/PrimaryLogPG.cc