From e59e2359b81a41b3292251b5bb3970f4e0b42e52 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Tue, 10 Oct 2017 11:05:32 -0500 Subject: [PATCH] os/bluestore/BitmapFreelistManager: disable bluestore_debug_freelist This doesn't work as implemented. We are doing _txc_finalize_kv() from queue_transactions, which calls into the freelist and does this verify code. However, we have no assurance that a previous txc in the sequencer has applied its changes to the kv store, which means that a simple sequence like - write object - delete object can trigger if the write is waiting for aio. This currently happens with ObjectStore/StoreTest.SimpleRemount/2. Comment out the verify, but leave _verify_range() helper in place in case we can use it in the future in some other context. Signed-off-by: Sage Weil (cherry picked from commit 354a6bab566a2f347937b2c3c787923bc5b5468e) --- src/os/bluestore/BitmapFreelistManager.cc | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/os/bluestore/BitmapFreelistManager.cc b/src/os/bluestore/BitmapFreelistManager.cc index ce0f9158ab8..3497fdf1488 100644 --- a/src/os/bluestore/BitmapFreelistManager.cc +++ b/src/os/bluestore/BitmapFreelistManager.cc @@ -505,8 +505,6 @@ void BitmapFreelistManager::allocate( { dout(10) << __func__ << " 0x" << std::hex << offset << "~" << length << std::dec << dendl; - if (cct->_conf->bluestore_debug_freelist) - _verify_range(offset, length, 0); _xor(offset, length, txn); } @@ -516,8 +514,6 @@ void BitmapFreelistManager::release( { dout(10) << __func__ << " 0x" << std::hex << offset << "~" << length << std::dec << dendl; - if (cct->_conf->bluestore_debug_freelist) - _verify_range(offset, length, 1); _xor(offset, length, txn); } -- 2.47.3