From: xie xingguo Date: Mon, 26 Jun 2017 11:57:29 +0000 (+0800) Subject: os/bluestore: fast exit if compression mode is set to COMP_NONE X-Git-Tag: ses5-milestone8^2~13^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=ab64f750301a12f595d3b7ffe80eb97d9cae39a0;p=ceph.git os/bluestore: fast exit if compression mode is set to COMP_NONE Signed-off-by: xie xingguo --- diff --git a/src/os/bluestore/BlueStore.cc b/src/os/bluestore/BlueStore.cc index 90886fe0076..f10ae76af4a 100644 --- a/src/os/bluestore/BlueStore.cc +++ b/src/os/bluestore/BlueStore.cc @@ -3556,6 +3556,25 @@ void BlueStore::handle_conf_change(const struct md_config_t *conf, void BlueStore::_set_compression() { + auto m = Compressor::get_comp_mode_type(cct->_conf->bluestore_compression_mode); + if (m) { + comp_mode = *m; + } else { + derr << __func__ << " unrecognized value '" + << cct->_conf->bluestore_compression_mode + << "' for bluestore_compression_mode, reverting to 'none'" + << dendl; + comp_mode = Compressor::COMP_NONE; + } + + compressor = nullptr; + + if (comp_mode == Compressor::COMP_NONE) { + dout(10) << __func__ << " compression mode set to 'none', " + << "ignore other compression setttings" << dendl; + return; + } + if (cct->_conf->bluestore_compression_max_blob_size) { comp_min_blob_size = cct->_conf->bluestore_compression_max_blob_size; } else { @@ -3578,19 +3597,6 @@ void BlueStore::_set_compression() } } - auto m = Compressor::get_comp_mode_type(cct->_conf->bluestore_compression_mode); - if (m) { - comp_mode = *m; - } else { - derr << __func__ << " unrecognized value '" - << cct->_conf->bluestore_compression_mode - << "' for bluestore_compression_mode, reverting to 'none'" - << dendl; - comp_mode = Compressor::COMP_NONE; - } - - compressor = nullptr; - auto& alg_name = cct->_conf->bluestore_compression_algorithm; if (!alg_name.empty()) { compressor = Compressor::create(cct, alg_name);