From: Sage Weil Date: Tue, 10 Oct 2017 16:05:32 +0000 (-0500) Subject: os/bluestore/BitmapFreelistManager: disable bluestore_debug_freelist X-Git-Tag: v12.2.13~197^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=e59e2359b81a41b3292251b5bb3970f4e0b42e52;p=ceph.git 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) --- diff --git a/src/os/bluestore/BitmapFreelistManager.cc b/src/os/bluestore/BitmapFreelistManager.cc index ce0f9158ab84..3497fdf14882 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); }