From 8d1a1cb62728f209d849f5ed8fe433c0449825d6 Mon Sep 17 00:00:00 2001 From: Kefu Chai Date: Fri, 7 May 2021 12:59:36 +0800 Subject: [PATCH] crimson/os/seastore: do not capture non-variables merge_stage and merge_size are structured bindings, they are not variables. so cannot be captured without defining variables in capture list. Signed-off-by: Kefu Chai --- src/crimson/os/seastore/onode_manager/staged-fltree/node.cc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/crimson/os/seastore/onode_manager/staged-fltree/node.cc b/src/crimson/os/seastore/onode_manager/staged-fltree/node.cc index b0fa5304bc3a3..401ceccee4c5d 100644 --- a/src/crimson/os/seastore/onode_manager/staged-fltree/node.cc +++ b/src/crimson/os/seastore/onode_manager/staged-fltree/node.cc @@ -574,8 +574,10 @@ Node::try_merge_adjacent( // fresh extent, thus no need to generate delta. auto left_addr = left_for_merge->impl->laddr(); return left_for_merge->rebuild_extent(c - ).safe_then([c, merge_stage, merge_size, update_index_after_merge, + ).safe_then([c, update_index_after_merge, left_addr, + merge_stage = merge_stage, + merge_size = merge_size, left_for_merge = std::move(left_for_merge), right_for_merge = std::move(right_for_merge)] (auto left_mut) mutable { if (left_for_merge->impl->node_type() == node_type_t::LEAF) { -- 2.39.5