From 883d0231e4f1124b56321414dbabb1863182ae80 Mon Sep 17 00:00:00 2001 From: Samuel Just Date: Thu, 14 Nov 2024 14:53:22 -0800 Subject: [PATCH] crimson/.../client_request: extend instance_handle lifetime We're going to need instance_handle to outlive exiting the pipeline stage as it will later hold a reference to an obc holding that stage. Signed-off-by: Samuel Just --- src/crimson/osd/osd_operations/client_request.cc | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/crimson/osd/osd_operations/client_request.cc b/src/crimson/osd/osd_operations/client_request.cc index 61a56600a57..a4f48b72318 100644 --- a/src/crimson/osd/osd_operations/client_request.cc +++ b/src/crimson/osd/osd_operations/client_request.cc @@ -268,9 +268,10 @@ seastar::future<> ClientRequest::with_pg_process( *pgref, *this, this_instance_id, eptr); }, pgref, pgref->get_osdmap_epoch()).finally( [this, FNAME, opref=std::move(opref), pgref, - this_instance_id, instance_handle=std::move(instance_handle), &ihref] { + this_instance_id, instance_handle=std::move(instance_handle), &ihref]() mutable { DEBUGDPP("{}.{}: exit", *pgref, *this, this_instance_id); - ihref.handle.exit(); + return ihref.handle.complete( + ).finally([instance_handle=std::move(instance_handle)] {}); }); } -- 2.39.5