From: Samuel Just Date: Mon, 18 May 2020 18:06:00 +0000 (-0700) Subject: crimson/os/seastore/journal: avoid capturing destructured labels X-Git-Tag: wip-pdonnell-testing-20200918.022351~1233^2~2 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=6e791093739a9684a6204b07aa9e2d9070ba7e20;p=ceph-ci.git crimson/os/seastore/journal: avoid capturing destructured labels clang at least doesn't allow those labels to be captured. Signed-off-by: Samuel Just --- diff --git a/src/crimson/os/seastore/journal.cc b/src/crimson/os/seastore/journal.cc index 1ea7fa8ddf8..334de688122 100644 --- a/src/crimson/os/seastore/journal.cc +++ b/src/crimson/os/seastore/journal.cc @@ -351,19 +351,16 @@ Journal::replay_segment( Journal::replay_ret Journal::replay(delta_handler_t &&delta_handler) { return seastar::do_with( - std::make_pair(std::move(delta_handler), std::vector()), - [this](auto &&item) mutable -> replay_ret { - auto &[handler, segments] = item; - return find_replay_segments( - ).safe_then([this, &handler, &segments](auto osegments) { - logger().debug("replay: found {} segments", segments.size()); - segments.swap(osegments); - return crimson::do_for_each( - segments, - [this, &handler](auto i) { - return replay_segment(i, handler); - }); - }); + std::move(delta_handler), std::vector(), + [this](auto&& handler, auto&& segments) mutable -> replay_ret { + return find_replay_segments().safe_then( + [this, &handler, &segments](auto replay_segs) { + logger().debug("replay: found {} segments", replay_segs.size()); + segments = std::move(replay_segs); + return crimson::do_for_each(segments, [this, &handler](auto i) { + return replay_segment(i, handler); + }); + }); }); }