From b78668eec8f97630e1c1051df6015ea5a721ee0f Mon Sep 17 00:00:00 2001 From: Yingxin Cheng Date: Wed, 11 Jan 2023 10:04:14 +0800 Subject: [PATCH] crimson/os/seastore: add FIXME to consider pending extent with absolute paddr During object data overwrite. Signed-off-by: Yingxin Cheng --- src/crimson/os/seastore/object_data_handler.cc | 2 ++ src/crimson/os/seastore/transaction_manager.h | 1 + 2 files changed, 3 insertions(+) diff --git a/src/crimson/os/seastore/object_data_handler.cc b/src/crimson/os/seastore/object_data_handler.cc index df29ea82366..a4a9ace2ff3 100644 --- a/src/crimson/os/seastore/object_data_handler.cc +++ b/src/crimson/os/seastore/object_data_handler.cc @@ -415,6 +415,7 @@ private: actual_write_size -= left_ext_size; left_ext_size = 0; left_operation = overwrite_operation_t::OVERWRITE_ZERO; + // FIXME: left_paddr can be absolute and pending } else if (left_paddr.is_relative() || left_paddr.is_delayed()) { aligned_data_size += left_ext_size; @@ -426,6 +427,7 @@ private: actual_write_size -= right_ext_size; right_ext_size = 0; right_operation = overwrite_operation_t::OVERWRITE_ZERO; + // FIXME: right_paddr can be absolute and pending } else if (right_paddr.is_relative() || right_paddr.is_delayed()) { aligned_data_size += right_ext_size; diff --git a/src/crimson/os/seastore/transaction_manager.h b/src/crimson/os/seastore/transaction_manager.h index 2514d743011..fddd1e2eece 100644 --- a/src/crimson/os/seastore/transaction_manager.h +++ b/src/crimson/os/seastore/transaction_manager.h @@ -355,6 +355,7 @@ public: paddr_t existing_paddr, extent_len_t length) { LOG_PREFIX(TransactionManager::map_existing_extent); + // FIXME: existing_paddr can be absolute and pending ceph_assert(existing_paddr.is_absolute()); assert(t.is_retired(existing_paddr, length)); -- 2.39.5