]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
os/bluestore: do not use 'unused' bitmap if makes no sense.
authorIgor Fedotov <ifedotov@suse.com>
Mon, 3 Feb 2020 15:50:50 +0000 (18:50 +0300)
committerNathan Cutler <ncutler@suse.com>
Tue, 28 Apr 2020 17:13:54 +0000 (19:13 +0200)
The processing logic which relies on 'unused' bitmap makes sense for
bluestore setup where min alloc size is different from device block
size. Now omitting if that's not true.

Signed-off-by: Igor Fedotov <ifedotov@suse.com>
(cherry picked from commit f960a018f938c70ea3d7f031611cdc5a6b9955b1)

src/os/bluestore/BlueStore.cc

index 7a64b1c0d28eeb486229a1d306ad4c49e68575c9..1ccfbac9a21fc7609641cd3f8a41cf2462615889 100644 (file)
@@ -13235,7 +13235,10 @@ void BlueStore::_do_write_small(
   uint64_t b_off0 = b_off;
   _pad_zeros(&bl, &b_off0, block_size);
   o->extent_map.punch_hole(c, offset, length, &wctx->old_extents);
-  wctx->write(offset, b, alloc_len, b_off0, bl, b_off, length, true, true);
+  wctx->write(offset, b, alloc_len, b_off0, bl, b_off, length,
+    min_alloc_size != block_size, // use 'unused' bitmap when alloc granularity
+                                  // doesn't match disk one only
+    true);
 
   return;
 }