From: Xuehan Xu Date: Fri, 29 Jan 2021 06:44:36 +0000 (+0800) Subject: crimson/osd: capture "intervals_included" by value in ReplicatedRecoveryBackend:... X-Git-Tag: v17.1.0~3132^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F39157%2Fhead;p=ceph.git crimson/osd: capture "intervals_included" by value in ReplicatedRecoveryBackend::submit_push_data ReplicatedRecoveryBackend::submit_push_data()'s parameter "intervals_included" might be an local varaiable in the outer method, so we should capture it by value to avoid a dangling reference in the inner lambda Signed-off-by: Xuehan Xu --- diff --git a/src/crimson/osd/replicated_recovery_backend.cc b/src/crimson/osd/replicated_recovery_backend.cc index d956e96a0fef..08aea6a4f036 100644 --- a/src/crimson/osd/replicated_recovery_backend.cc +++ b/src/crimson/osd/replicated_recovery_backend.cc @@ -980,7 +980,7 @@ seastar::future<> ReplicatedRecoveryBackend::submit_push_data( } return seastar::make_ready_future<>(); }().then([this, data_zeros=std::move(data_zeros), - &recovery_info, &intervals_included, t, target_oid, + &recovery_info, intervals_included, t, target_oid, &omap_entries, &attrs, data_included, complete, first]() mutable { uint32_t fadvise_flags = CEPH_OSD_OP_FLAG_FADVISE_SEQUENTIAL; // Punch zeros for data, if fiemap indicates nothing but it is marked dirty