From: Igor Fedotov Date: Thu, 13 Apr 2017 14:51:33 +0000 (+0300) Subject: os/bluestore: introduce a debug switch to bypass kv update. X-Git-Tag: v12.1.0~225^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F15309%2Fhead;p=ceph.git os/bluestore: introduce a debug switch to bypass kv update. Signed-off-by: Igor Fedotov --- diff --git a/src/common/config_opts.h b/src/common/config_opts.h index c5dceea0649e..5e3650b5a377 100644 --- a/src/common/config_opts.h +++ b/src/common/config_opts.h @@ -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) diff --git a/src/os/bluestore/BlueStore.cc b/src/os/bluestore/BlueStore.cc index 3904737aa0b4..a974b5ac836f 100644 --- a/src/os/bluestore/BlueStore.cc +++ b/src/os/bluestore/BlueStore.cc @@ -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) {