]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
crimson: retain reference to WaitForObjectRecovery until blocker resolves
authorSamuel Just <sjust@redhat.com>
Fri, 6 May 2022 05:05:31 +0000 (05:05 +0000)
committerSamuel Just <sjust@redhat.com>
Fri, 6 May 2022 23:21:54 +0000 (23:21 +0000)
commit83e9db3a8b070527880673ec23ebcae7abdca96c
tree9b27f3d2c6dc9e173732bc9eef7dd6b093a41d94
parent8541ad1656a51cd80242ca61c51f8c6dc331eca3
crimson: retain reference to WaitForObjectRecovery until blocker resolves

PGRecovery::on_global_recover destroys the map entry without waiting for
the future returned from

    seastar::future<> wait_for_recovered(BlockingEvent::TriggerI& trigger) {

This commit changes WaitForObjectRecovery to be refcounted and retains a
reference until the future resolves.

Fixes: https://tracker.ceph.com/issues/55565
Signed-off-by: Samuel Just <sjust@redhat.com>
src/crimson/osd/pg_recovery.cc
src/crimson/osd/recovery_backend.cc
src/crimson/osd/recovery_backend.h
src/crimson/osd/replicated_recovery_backend.cc