]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
os/bluestore: introduce a debug switch to bypass kv update. 15309/head
authorIgor Fedotov <ifedotov@mirantis.com>
Thu, 13 Apr 2017 14:51:33 +0000 (17:51 +0300)
committerIgor Fedotov <ifedotov@mirantis.com>
Thu, 8 Jun 2017 11:38:47 +0000 (04:38 -0700)
Signed-off-by: Igor Fedotov <ifedotov@mirantis.com>
src/common/config_opts.h
src/os/bluestore/BlueStore.cc

index c5dceea0649ee4e75f8bb43dc0ad9521518736a3..5e3650b5a377db6ad51bab2d467f195d45480df0 100644 (file)
@@ -1173,6 +1173,7 @@ OPTION(bluestore_debug_inject_read_err, OPT_BOOL, false)
 OPTION(bluestore_debug_randomize_serial_transaction, OPT_INT, 0)
 OPTION(bluestore_debug_omit_block_device_write, OPT_BOOL, false)
 OPTION(bluestore_debug_fsck_abort, OPT_BOOL, false)
+OPTION(bluestore_debug_omit_kv_commit, OPT_BOOL, false)
 OPTION(bluestore_debug_permit_any_bdev_label, OPT_BOOL, false)
 OPTION(bluestore_shard_finishers, OPT_BOOL, false)
 
index 3904737aa0b4c303512af793d0999dcffa468c8e..a974b5ac836fcac30ff713869d8e70cea1c1890f 100644 (file)
@@ -7558,7 +7558,7 @@ void BlueStore::_txc_state_proc(TransContext *txc)
                   << dendl;
        } else {
          txc->state = TransContext::STATE_KV_SUBMITTED;
-         int r = db->submit_transaction(txc->t);
+         int r = cct->_conf->bluestore_debug_omit_kv_commit ? 0 : db->submit_transaction(txc->t);
          assert(r == 0);
          _txc_applied_kv(txc);
        }
@@ -8162,7 +8162,7 @@ void BlueStore::_kv_sync_thread()
       for (auto txc : kv_submitting) {
        assert(txc->state == TransContext::STATE_KV_QUEUED);
        txc->log_state_latency(logger, l_bluestore_state_kv_queued_lat);
-       int r = db->submit_transaction(txc->t);
+       int r = cct->_conf->bluestore_debug_omit_kv_commit ? 0 : db->submit_transaction(txc->t);
        assert(r == 0);
        _txc_applied_kv(txc);
        --txc->osr->kv_committing_serially;
@@ -8228,7 +8228,7 @@ void BlueStore::_kv_sync_thread()
       }
 
       // submit synct synchronously (block and wait for it to commit)
-      int r = db->submit_transaction_sync(synct);
+      int r = cct->_conf->bluestore_debug_omit_kv_commit ? 0 : db->submit_transaction_sync(synct);
       assert(r == 0);
 
       if (new_nid_max) {