From 3b162d38b246f4f41e3d9295521a20b685f90bc7 Mon Sep 17 00:00:00 2001 From: Matan Breizman Date: Wed, 15 Nov 2023 14:27:05 +0000 Subject: [PATCH] crimson/osd: avoid refcount mutations Signed-off-by: Matan Breizman --- src/crimson/osd/osd_operations/logmissing_request.cc | 2 +- src/crimson/osd/osd_operations/logmissing_request_reply.cc | 2 +- src/crimson/osd/osd_operations/snaptrim_event.cc | 2 +- src/crimson/osd/pg.cc | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/crimson/osd/osd_operations/logmissing_request.cc b/src/crimson/osd/osd_operations/logmissing_request.cc index 797625da629..5f92ccddfcd 100644 --- a/src/crimson/osd/osd_operations/logmissing_request.cc +++ b/src/crimson/osd/osd_operations/logmissing_request.cc @@ -88,7 +88,7 @@ seastar::future<> LogMissingRequest::with_pg( }); }, [](std::exception_ptr) { return seastar::now(); - }, pg).finally([this, ref] { + }, pg).finally([this, ref=std::move(ref)] { logger().debug("{}: exit", *this); handle.exit(); }); diff --git a/src/crimson/osd/osd_operations/logmissing_request_reply.cc b/src/crimson/osd/osd_operations/logmissing_request_reply.cc index b2d447d194a..20a9bf7dd00 100644 --- a/src/crimson/osd/osd_operations/logmissing_request_reply.cc +++ b/src/crimson/osd/osd_operations/logmissing_request_reply.cc @@ -74,7 +74,7 @@ seastar::future<> LogMissingRequestReply::with_pg( }); }, [](std::exception_ptr) { return seastar::now(); - }, pg).finally([this, ref] { + }, pg).finally([this, ref=std::move(ref)] { logger().debug("{}: exit", *this); handle.exit(); }); diff --git a/src/crimson/osd/osd_operations/snaptrim_event.cc b/src/crimson/osd/osd_operations/snaptrim_event.cc index b0f5a452e7f..f76dd1e36f2 100644 --- a/src/crimson/osd/osd_operations/snaptrim_event.cc +++ b/src/crimson/osd/osd_operations/snaptrim_event.cc @@ -196,7 +196,7 @@ SnapTrimEvent::start() }, [this](std::exception_ptr eptr) -> snap_trim_ertr::future { logger().debug("{}: interrupted {}", *this, eptr); return crimson::ct_error::eagain::make(); - }, pg).finally([this, ref] { + }, pg).finally([this, ref=std::move(ref)] { logger().debug("{}: exit", *this); handle.exit(); }); diff --git a/src/crimson/osd/pg.cc b/src/crimson/osd/pg.cc index 78ae559e8cd..c4dce8a8ee3 100644 --- a/src/crimson/osd/pg.cc +++ b/src/crimson/osd/pg.cc @@ -507,7 +507,7 @@ void PG::on_active_actmap() logger().debug("{}: trimmed snap={}", *this, trimmed); }); } - ).finally([this, pg_ref] { + ).finally([this, pg_ref=std::move(pg_ref)] { logger().debug("{}: PG::on_active_actmap() finished trimming", *this); peering_state.state_clear(PG_STATE_SNAPTRIM); -- 2.39.5