From c2d2dd7e70c5831437b0ad4656e949e2ad7116d7 Mon Sep 17 00:00:00 2001 From: Samuel Just Date: Fri, 10 Dec 2021 21:42:03 +0000 Subject: [PATCH] crimson/os/seastore/transaction_manager: clarify that init lambda only runs on new extents Signed-off-by: Samuel Just --- src/crimson/os/seastore/transaction_manager.cc | 11 +++++------ src/crimson/os/seastore/transaction_manager.h | 11 +++++------ 2 files changed, 10 insertions(+), 12 deletions(-) diff --git a/src/crimson/os/seastore/transaction_manager.cc b/src/crimson/os/seastore/transaction_manager.cc index 011bd1766490b..a04c45ef17b32 100644 --- a/src/crimson/os/seastore/transaction_manager.cc +++ b/src/crimson/os/seastore/transaction_manager.cc @@ -444,12 +444,11 @@ TransactionManager::get_extent_if_live_ret TransactionManager::get_extent_if_liv len, [this, pin=std::move(pin)](CachedExtent &extent) mutable { auto lref = extent.cast(); - if (!lref->has_pin()) { - assert(!(pin->has_been_invalidated() || - lref->has_been_invalidated())); - lref->set_pin(std::move(pin)); - lba_manager->add_pin(lref->get_pin()); - } + assert(!lref->has_pin()); + assert(!lref->has_been_invalidated()); + assert(!pin->has_been_invalidated()); + lref->set_pin(std::move(pin)); + lba_manager->add_pin(lref->get_pin()); }); } else { return inner_ret( diff --git a/src/crimson/os/seastore/transaction_manager.h b/src/crimson/os/seastore/transaction_manager.h index e3f04b3b38d43..5a7226a7c8f85 100644 --- a/src/crimson/os/seastore/transaction_manager.h +++ b/src/crimson/os/seastore/transaction_manager.h @@ -156,12 +156,11 @@ public: pref.get_paddr(), pref.get_length(), [this, pin=std::move(pin)](T &extent) mutable { - if (!extent.has_pin()) { - assert(!(extent.has_been_invalidated() || - pin->has_been_invalidated())); - extent.set_pin(std::move(pin)); - lba_manager->add_pin(extent.get_pin()); - } + assert(!extent.has_pin()); + assert(!extent.has_been_invalidated()); + assert(!pin->has_been_invalidated()); + extent.set_pin(std::move(pin)); + lba_manager->add_pin(extent.get_pin()); } ).si_then([FNAME, &t](auto ref) mutable -> ret { DEBUGT("got extent {}", t, *ref); -- 2.39.5