From: Xuehan Xu Date: Thu, 25 Apr 2024 06:24:47 +0000 (+0800) Subject: crimson/os/seastore: only update onode sizes when necessary X-Git-Tag: testing/wip-pdonnell-testing-20240429.210911-debug~11^2 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=c651a68cefb56f8a8eeb0c34917986d0d4c22ad2;p=ceph-ci.git crimson/os/seastore: only update onode sizes when necessary Signed-off-by: Xuehan Xu --- diff --git a/src/crimson/os/seastore/seastore.cc b/src/crimson/os/seastore/seastore.cc index 4a191e25bc5..39d7e7ec231 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));