From: Yingxin Cheng Date: Wed, 3 Aug 2022 03:34:56 +0000 (+0800) Subject: crimson: capture this explicitly X-Git-Tag: v18.0.0~363^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=c27fc818202c64263ac924f7d05ad92419a0a32e;p=ceph.git crimson: capture this explicitly Signed-off-by: Yingxin Cheng Signed-off-by: Kefu Chai --- diff --git a/src/crimson/os/seastore/async_cleaner.cc b/src/crimson/os/seastore/async_cleaner.cc index 153f6d101e4a..76d5d42636b1 100644 --- a/src/crimson/os/seastore/async_cleaner.cc +++ b/src/crimson/os/seastore/async_cleaner.cc @@ -761,7 +761,7 @@ AsyncCleaner::rewrite_dirty_ret AsyncCleaner::rewrite_dirty( t, limit, config.rewrite_dirty_bytes_per_cycle - ).si_then([=, &t](auto dirty_list) { + ).si_then([=, &t, this](auto dirty_list) { LOG_PREFIX(AsyncCleaner::rewrite_dirty); DEBUGT("rewrite {} dirty extents", t, dirty_list.size()); return seastar::do_with( diff --git a/src/crimson/os/seastore/journal/segmented_journal.cc b/src/crimson/os/seastore/journal/segmented_journal.cc index 71579ed1a4b5..82eadf80fbae 100644 --- a/src/crimson/os/seastore/journal/segmented_journal.cc +++ b/src/crimson/os/seastore/journal/segmented_journal.cc @@ -333,7 +333,7 @@ SegmentedJournal::replay_segment( }); }); }), - [=](auto &cursor, auto &dhandler) { + [=, this](auto &cursor, auto &dhandler) { return sm_group.scan_valid_records( cursor, header.segment_nonce, diff --git a/src/crimson/os/seastore/segment_manager_group.cc b/src/crimson/os/seastore/segment_manager_group.cc index ff87fda71e7c..11eebc742f14 100644 --- a/src/crimson/os/seastore/segment_manager_group.cc +++ b/src/crimson/os/seastore/segment_manager_group.cc @@ -110,9 +110,9 @@ SegmentManagerGroup::scan_valid_records( auto retref = std::make_unique(0); auto &budget_used = *retref; return crimson::repeat( - [=, &cursor, &budget_used, &handler]() mutable + [=, &cursor, &budget_used, &handler, this]() mutable -> scan_valid_records_ertr::future { - return [=, &handler, &cursor, &budget_used] { + return [=, &handler, &cursor, &budget_used, this] { if (!cursor.last_valid_header_found) { return read_validate_record_metadata(cursor.seq.offset, nonce ).safe_then([=, &cursor](auto md) { @@ -134,12 +134,12 @@ SegmentManagerGroup::scan_valid_records( cursor.emplace_record_group(header, std::move(md_bl)); return scan_valid_records_ertr::now(); } - }).safe_then([=, &cursor, &budget_used, &handler] { + }).safe_then([=, &cursor, &budget_used, &handler, this] { DEBUG("processing committed record groups until {}, {} pending", cursor.last_committed, cursor.pending_record_groups.size()); return crimson::repeat( - [=, &budget_used, &cursor, &handler] { + [=, &budget_used, &cursor, &handler, this] { if (cursor.pending_record_groups.empty()) { /* This is only possible if the segment is empty. * A record's last_commited must be prior to its own diff --git a/src/crimson/osd/shard_services.cc b/src/crimson/osd/shard_services.cc index 52dcda071b69..7b20baf09a90 100644 --- a/src/crimson/osd/shard_services.cc +++ b/src/crimson/osd/shard_services.cc @@ -666,7 +666,7 @@ seastar::future<> ShardServices::dispatch_context_messages( auto& [peer, messages] = osd_messages; logger().debug("dispatch_context_messages sending messages to {}", peer); return seastar::parallel_for_each( - std::move(messages), [=, peer=peer](auto& m) { + std::move(messages), [=, peer=peer, this](auto& m) { return send_to_osd(peer, std::move(m), local_state.osdmap->get_epoch()); }); }); diff --git a/src/crimson/tools/store_nbd/tm_driver.cc b/src/crimson/tools/store_nbd/tm_driver.cc index 3b7a37889301..26d126ae3efd 100644 --- a/src/crimson/tools/store_nbd/tm_driver.cc +++ b/src/crimson/tools/store_nbd/tm_driver.cc @@ -97,11 +97,11 @@ seastar::future TMDriver::read( assert(size % (size_t)device->get_block_size() == 0); auto blptrret = std::make_unique(); auto &blret = *blptrret; - return repeat_eagain([=, &blret] { + return repeat_eagain([=, &blret, this] { return tm->with_transaction_intr( Transaction::src_t::READ, "read", - [=, &blret](auto& t) + [=, &blret, this](auto& t) { return read_extents(t, offset, size ).si_then([=, &blret](auto ext_list) { diff --git a/src/test/crimson/seastore/test_btree_lba_manager.cc b/src/test/crimson/seastore/test_btree_lba_manager.cc index a562e7d019d8..113e0308401e 100644 --- a/src/test/crimson/seastore/test_btree_lba_manager.cc +++ b/src/test/crimson/seastore/test_btree_lba_manager.cc @@ -255,7 +255,7 @@ struct lba_btree_test : btree_test_base { void insert(laddr_t addr, extent_len_t len) { ceph_assert(check.count(addr) == 0); check.emplace(addr, get_map_val(len)); - lba_btree_update([=](auto &btree, auto &t) { + lba_btree_update([=, this](auto &btree, auto &t) { return btree.insert( get_op_context(t), addr, get_map_val(len) ).si_then([](auto){}); @@ -267,7 +267,7 @@ struct lba_btree_test : btree_test_base { ceph_assert(iter != check.end()); auto len = iter->second.len; check.erase(iter++); - lba_btree_update([=](auto &btree, auto &t) { + lba_btree_update([=, this](auto &btree, auto &t) { return btree.lower_bound( get_op_context(t), addr ).si_then([this, len, addr, &btree, &t](auto iter) { @@ -283,7 +283,7 @@ struct lba_btree_test : btree_test_base { void check_lower_bound(laddr_t addr) { auto iter = check.lower_bound(addr); - auto result = lba_btree_read([=](auto &btree, auto &t) { + auto result = lba_btree_read([=, this](auto &btree, auto &t) { return btree.lower_bound( get_op_context(t), addr ).si_then([](auto iter) @@ -425,7 +425,7 @@ struct btree_lba_manager_test : btree_test_base { paddr_t paddr) { auto ret = with_trans_intr( *t.t, - [=](auto &t) { + [=, this](auto &t) { return lba_manager->alloc_extent(t, hint, len, paddr); }).unsafe_get0(); logger().debug("alloc'd: {}", *ret); @@ -459,7 +459,7 @@ struct btree_lba_manager_test : btree_test_base { auto refcnt = with_trans_intr( *t.t, - [=](auto &t) { + [=, this](auto &t) { return lba_manager->decref_extent( t, target->first); @@ -483,7 +483,7 @@ struct btree_lba_manager_test : btree_test_base { target->second.refcount++; auto refcnt = with_trans_intr( *t.t, - [=](auto &t) { + [=, this](auto &t) { return lba_manager->incref_extent( t, target->first); @@ -521,7 +521,7 @@ struct btree_lba_manager_test : btree_test_base { auto ret_list = with_trans_intr( *t.t, - [=](auto &t) { + [=, this](auto &t) { return lba_manager->get_mappings( t, laddr, len); }).unsafe_get0(); @@ -533,7 +533,7 @@ struct btree_lba_manager_test : btree_test_base { auto ret_pin = with_trans_intr( *t.t, - [=](auto &t) { + [=, this](auto &t) { return lba_manager->get_mapping( t, laddr); }).unsafe_get0(); @@ -543,7 +543,7 @@ struct btree_lba_manager_test : btree_test_base { } with_trans_intr( *t.t, - [=, &t](auto &) { + [=, &t, this](auto &) { return lba_manager->scan_mappings( *t.t, 0,