]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
os/bluestore/recompression: Now able to reach left boundary
authorAdam Kupczyk <akupczyk@ibm.com>
Wed, 7 May 2025 08:25:19 +0000 (08:25 +0000)
committerAdam Kupczyk <akupczyk@ibm.com>
Wed, 7 May 2025 15:43:22 +0000 (15:43 +0000)
Bad comparision caused recompression range to exclude left boundary
point. In most cases it makes little difference, but it prevents from:
1) including extent starting at 0
2) including extent at begging of onode segment
Now fixed.

Fixes: https://tracker.ceph.com/issues/71244
Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
(cherry picked from commit acfe527d9bbe3364f9e321ce6e790f93eafe41df)

src/os/bluestore/Compression.cc

index 41684cb630d34490730f79dd93479614e36734f1..ca3befe3cf1901737c2cb4b2e50eb0b135dd3331 100644 (file)
@@ -872,7 +872,7 @@ void Scan::on_write_start(
   }
   if (left_it != extent_map->extent_map.begin()) {
     --left_it; // left_walk points to processes extent
-    if (limit_left < left_it->logical_offset) {
+    if (limit_left <= left_it->logical_offset) {
       dout(30) << "left maybe expand" << dendl;
       has_expanded |= maybe_expand_scan_range(left_it, left, right);
     }