From d6d9d46cc9aa5b403ce9ee5af74f0a2e72bcdde9 Mon Sep 17 00:00:00 2001 From: Yingxin Cheng Date: Thu, 21 Jul 2022 16:58:47 +0800 Subject: [PATCH] crimson/os/seastore: misc cleanups Signed-off-by: Yingxin Cheng --- src/crimson/os/seastore/async_cleaner.cc | 41 ++++++++++--------- src/crimson/os/seastore/cached_extent.h | 2 - src/crimson/os/seastore/seastore.cc | 2 +- .../os/seastore/segment_manager_group.h | 2 +- 4 files changed, 23 insertions(+), 24 deletions(-) diff --git a/src/crimson/os/seastore/async_cleaner.cc b/src/crimson/os/seastore/async_cleaner.cc index 28b1a16453a..df146d39075 100644 --- a/src/crimson/os/seastore/async_cleaner.cc +++ b/src/crimson/os/seastore/async_cleaner.cc @@ -1168,7 +1168,7 @@ AsyncCleaner::mount_ret AsyncCleaner::mount() } AsyncCleaner::scan_extents_ret AsyncCleaner::scan_no_tail_segment( - const segment_header_t& header, + const segment_header_t &segment_header, segment_id_t segment_id) { return seastar::do_with( @@ -1177,9 +1177,9 @@ AsyncCleaner::scan_extents_ret AsyncCleaner::scan_no_tail_segment( paddr_t::make_seg_paddr(segment_id, 0) }), SegmentManagerGroup::found_record_handler_t( - [this, segment_id, segment_header=header]( + [this, segment_id, segment_header]( record_locator_t locator, - const record_group_header_t& header, + const record_group_header_t &record_group_header, const bufferlist& mdbuf ) mutable -> SegmentManagerGroup::scan_valid_records_ertr::future<> { @@ -1187,16 +1187,16 @@ AsyncCleaner::scan_extents_ret AsyncCleaner::scan_no_tail_segment( if (segment_header.get_type() == segment_type_t::OOL) { DEBUG("out-of-line segment {}, decodeing {} records", segment_id, - header.records); + record_group_header.records); } else { DEBUG("inline segment {}, decodeing {} records", segment_id, - header.records); + record_group_header.records); auto maybe_record_deltas_list = try_decode_deltas( - header, mdbuf, locator.record_block_base); + record_group_header, mdbuf, locator.record_block_base); if (!maybe_record_deltas_list) { ERROR("unable to decode deltas for record {} at {}", - header, locator); + record_group_header, locator); return crimson::ct_error::input_output_error::make(); } for (auto &record_deltas : *maybe_record_deltas_list) { @@ -1210,7 +1210,8 @@ AsyncCleaner::scan_extents_ret AsyncCleaner::scan_no_tail_segment( } } - auto maybe_headers = try_decode_record_headers(header, mdbuf); + auto maybe_headers = try_decode_record_headers( + record_group_header, mdbuf); if (!maybe_headers) { // This should be impossible, we did check the crc on the mdbuf ERROR("unable to decode record headers for record group {}", @@ -1218,32 +1219,32 @@ AsyncCleaner::scan_extents_ret AsyncCleaner::scan_no_tail_segment( return crimson::ct_error::input_output_error::make(); } - for (auto& header : *maybe_headers) { - auto modify_time = mod_to_timepoint(header.modify_time); - if (header.extents == 0 || modify_time != NULL_TIME) { + for (auto &record_header : *maybe_headers) { + auto modify_time = mod_to_timepoint(record_header.modify_time); + if (record_header.extents == 0 || modify_time != NULL_TIME) { segments.update_modify_time( - segment_id, modify_time, header.extents); + segment_id, modify_time, record_header.extents); } else { - ERROR("illegal modify time {}", header); + ERROR("illegal modify time {}", record_header); return crimson::ct_error::input_output_error::make(); } } return seastar::now(); }), - [this, header](auto &cursor, auto &handler) + [this, segment_header](auto &cursor, auto &handler) { return sm_group->scan_valid_records( cursor, - header.segment_nonce, + segment_header.segment_nonce, segments.get_segment_size(), handler).discard_result(); - }).safe_then([this, segment_id, header] { + }).safe_then([this, segment_id, segment_header] { init_mark_segment_closed( segment_id, - header.segment_seq, - header.type, - header.category, - header.generation); + segment_header.segment_seq, + segment_header.type, + segment_header.category, + segment_header.generation); }); } diff --git a/src/crimson/os/seastore/cached_extent.h b/src/crimson/os/seastore/cached_extent.h index 5054aea8f65..a4dfd68c246 100644 --- a/src/crimson/os/seastore/cached_extent.h +++ b/src/crimson/os/seastore/cached_extent.h @@ -17,7 +17,6 @@ namespace crimson::os::seastore { -class ool_record_t; class Transaction; class CachedExtent; using CachedExtentRef = boost::intrusive_ptr; @@ -557,7 +556,6 @@ protected: } } - friend class crimson::os::seastore::ool_record_t; friend class crimson::os::seastore::SegmentedAllocator; friend class crimson::os::seastore::TransactionManager; friend class crimson::os::seastore::ExtentPlacementManager; diff --git a/src/crimson/os/seastore/seastore.cc b/src/crimson/os/seastore/seastore.cc index 125a374edde..eba1529d737 100644 --- a/src/crimson/os/seastore/seastore.cc +++ b/src/crimson/os/seastore/seastore.cc @@ -1183,7 +1183,7 @@ SeaStore::tm_ret SeaStore::_do_transaction_step( } case Transaction::OP_SETALLOCHINT: { - WARN("OP_SETALLOCHINT ignored as not-implemented-yet"); + // TODO return tm_iertr::now(); } default: diff --git a/src/crimson/os/seastore/segment_manager_group.h b/src/crimson/os/seastore/segment_manager_group.h index d4d7d24e567..3dccdf92134 100644 --- a/src/crimson/os/seastore/segment_manager_group.h +++ b/src/crimson/os/seastore/segment_manager_group.h @@ -92,7 +92,7 @@ public: read_segment_tail_ret read_segment_tail(segment_id_t segment); using read_ertr = SegmentManager::read_ertr; - using scan_valid_records_ertr = read_ertr::extend; + using scan_valid_records_ertr = read_ertr; using scan_valid_records_ret = scan_valid_records_ertr::future< size_t>; using found_record_handler_t = std::function< -- 2.39.5