From 98f4582d284cc36c91c5df7bfaabbd8ddae43e57 Mon Sep 17 00:00:00 2001 From: Igor Fedotov Date: Mon, 3 Feb 2020 18:50:50 +0300 Subject: [PATCH] os/bluestore: do not use 'unused' bitmap if makes no sense. 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 (cherry picked from commit f960a018f938c70ea3d7f031611cdc5a6b9955b1) --- src/os/bluestore/BlueStore.cc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/os/bluestore/BlueStore.cc b/src/os/bluestore/BlueStore.cc index f4181b6c754a..f8c6eeea8378 100644 --- a/src/os/bluestore/BlueStore.cc +++ b/src/os/bluestore/BlueStore.cc @@ -12399,7 +12399,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; } -- 2.47.3