]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
os/bluestore/BitmapFreelistManager: disable bluestore_debug_freelist 27459/head
authorSage Weil <sage@redhat.com>
Tue, 10 Oct 2017 16:05:32 +0000 (11:05 -0500)
committerIgor Fedotov <ifedotov@suse.com>
Tue, 9 Apr 2019 11:20:37 +0000 (14:20 +0300)
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 <sage@redhat.com>
(cherry picked from commit 354a6bab566a2f347937b2c3c787923bc5b5468e)

src/os/bluestore/BitmapFreelistManager.cc

index ce0f9158ab841202767ce129a641ca7f3edf891e..3497fdf148826df8a980de9dfecf7677b96d1f92 100644 (file)
@@ -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);
 }