From df9827eba86063f0006b0c7ccf7d3117c49248e0 Mon Sep 17 00:00:00 2001 From: Samuel Just Date: Fri, 6 May 2022 18:05:15 -0700 Subject: [PATCH] crimson/osd/pg_recovery: avoid using create_part_trigger() directly AggregateBlockingEvent::TriggerI::maybe_record_blocking() should handle invoking create_part_trigger(). Signed-off-by: Samuel Just --- src/crimson/osd/pg_recovery.cc | 6 ++---- src/crimson/osd/recovery_backend.h | 3 ++- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/src/crimson/osd/pg_recovery.cc b/src/crimson/osd/pg_recovery.cc index 9ebcad8c0c81c..4b0c3f0fbac33 100644 --- a/src/crimson/osd/pg_recovery.cc +++ b/src/crimson/osd/pg_recovery.cc @@ -156,8 +156,7 @@ size_t PGRecovery::start_primary_recovery_ops( // TODO: handle lost/unfound if (pg->get_recovery_backend()->is_recovering(soid)) { auto& recovery_waiter = pg->get_recovery_backend()->get_recovering(soid); - out->emplace_back(recovery_waiter.wait_for_recovered( - *trigger.create_part_trigger())); + out->emplace_back(recovery_waiter.wait_for_recovered(trigger)); ++started; } else if (pg->get_recovery_backend()->is_recovering(head)) { ++skipped; @@ -225,8 +224,7 @@ size_t PGRecovery::start_replica_recovery_ops( if (pg->get_recovery_backend()->is_recovering(soid)) { logger().debug("{}: already recovering object {}", __func__, soid); auto& recovery_waiter = pg->get_recovery_backend()->get_recovering(soid); - out->emplace_back(recovery_waiter.wait_for_recovered( - *trigger.create_part_trigger())); + out->emplace_back(recovery_waiter.wait_for_recovered(trigger)); started++; continue; } diff --git a/src/crimson/osd/recovery_backend.h b/src/crimson/osd/recovery_backend.h index a2b2df71168e9..5be55564ad053 100644 --- a/src/crimson/osd/recovery_backend.h +++ b/src/crimson/osd/recovery_backend.h @@ -150,7 +150,8 @@ public: std::forward(fut) ).finally([ref] {}); } - seastar::future<> wait_for_recovered(BlockingEvent::TriggerI& trigger) { + template + seastar::future<> wait_for_recovered(T &trigger) { WaitForObjectRecoveryRef ref = this; return wait_track_blocking(trigger, recovered.get_shared_future()); } -- 2.39.5