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)
{
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);
}
{
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);
}