From: Adam Kupczyk Date: Thu, 7 May 2026 11:52:50 +0000 (+0000) Subject: os/bluestore: No more stray spanning blobs creation X-Git-Tag: v21.0.1~24^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=e4804d2cacac6a4979ef00b1ccc181cc61fee193;p=ceph.git os/bluestore: No more stray spanning blobs creation Prevent ExtentMap::reshard_action() from creating stray spanning blobs. Fixes: https://tracker.ceph.com/issues/75698 Signed-off-by: Adam Kupczyk --- diff --git a/src/os/bluestore/BlueStore.cc b/src/os/bluestore/BlueStore.cc index 6c47ce2b558..9a93f65f0b4 100644 --- a/src/os/bluestore/BlueStore.cc +++ b/src/os/bluestore/BlueStore.cc @@ -3913,6 +3913,11 @@ void BlueStore::ExtentMap::reshard_action( << std::hex << bstart1 << " blob_offset 0x" << blob_offset << std::dec << " " << *b << dendl; b = split_blob(b, blob_offset, sh.shard_info->offset); + if (b->get_blob().get_ondisk_size() == 0) { + // The blob b is empty; there are no extents that can reference it. + // It will be deleted as soon as it gets out of scope. + break; + } // switch b to the new right-hand side, in case it // *also* has to get split. bstart1 = sh.shard_info->offset;