]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
os/bluestore/write-v2: Tune down usage of 'unused'
authorAdam Kupczyk <akupczyk@ibm.com>
Wed, 12 Mar 2025 09:55:00 +0000 (09:55 +0000)
committerAdam Kupczyk <akupczyk@ibm.com>
Sun, 30 Mar 2025 08:06:47 +0000 (08:06 +0000)
We should not use 'unused' when allocation unit = disk block.
Blobs with 'unused' cannot be split which makes shard resharding
more problematic and spanning blobs more pronounced.

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
src/os/bluestore/Writer.cc

index 73a9efcd7ca13cf34abbd409cd94a02eb4d152b1..eeecbf01530163735cc23096dbc13650dea2bd27 100644 (file)
@@ -499,7 +499,9 @@ BlueStore::BlobRef BlueStore::Writer::_blob_create_with_data(
   _get_disk_space(blob_length - alloc_offset, blob_allocs);
   bblob.allocated(alloc_offset, blob_length - alloc_offset, blob_allocs);
   //^sets also logical_length = blob_length
-  bblob.add_unused_all();
+  if (min_alloc_size != block_size) {
+    bblob.add_unused_all();
+  }
   dout(25) << __func__ << " @0x" << std::hex << in_blob_offset
     << "~" << disk_data.length()
     << " alloc_offset=" << alloc_offset