From c651a68cefb56f8a8eeb0c34917986d0d4c22ad2 Mon Sep 17 00:00:00 2001 From: Xuehan Xu Date: Thu, 25 Apr 2024 14:24:47 +0800 Subject: [PATCH] crimson/os/seastore: only update onode sizes when necessary Signed-off-by: Xuehan Xu --- src/crimson/os/seastore/seastore.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/crimson/os/seastore/seastore.cc b/src/crimson/os/seastore/seastore.cc index 4a191e25bc59b..39d7e7ec23144 100644 --- a/src/crimson/os/seastore/seastore.cc +++ b/src/crimson/os/seastore/seastore.cc @@ -1653,8 +1653,8 @@ SeaStore::Shard::_write( { LOG_PREFIX(SeaStore::_write); DEBUGT("onode={} {}~{}", *ctx.transaction, *onode, offset, len); - { - const auto &object_size = onode->get_layout().size; + const auto &object_size = onode->get_layout().size; + if (offset + len > object_size) { onode->update_onode_size( *ctx.transaction, std::max(offset + len, object_size)); -- 2.39.5