From b80a5c6cc9d8b62d9a7567767df3ea435a4beb87 Mon Sep 17 00:00:00 2001 From: Xuehan Xu Date: Wed, 27 Jan 2021 19:04:47 +0800 Subject: [PATCH] crimson/osd: should capture seastar::do_with params by reference The lambda within seastar::do_with need to use lvalue reference as its parameter, otherwise it would be referencing a variable whose lifecycle ends when lambda finishes runing Signed-off-by: Xuehan Xu --- src/crimson/osd/replicated_recovery_backend.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/crimson/osd/replicated_recovery_backend.cc b/src/crimson/osd/replicated_recovery_backend.cc index 0812003bb311a..70c268e83aff1 100644 --- a/src/crimson/osd/replicated_recovery_backend.cc +++ b/src/crimson/osd/replicated_recovery_backend.cc @@ -357,7 +357,7 @@ seastar::future ReplicatedRecoveryBackend::build_push_op( recovery_info.version, PushOp(), [this, &recovery_info, &progress, stat] - (auto new_progress, auto available, auto v, auto pop) { + (auto& new_progress, auto& available, auto& v, auto& pop) { return read_metadata_for_push_op(recovery_info.soid, progress, new_progress, v, &pop).then([&](eversion_t local_ver) mutable { -- 2.39.5