From: Sage Weil Date: Thu, 12 May 2016 17:31:09 +0000 (-0400) Subject: os/bluestore: define min_alloc_size globally X-Git-Tag: v11.0.0~359^2~91 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=464cb399abb05bdc44d5c142059baebc97612d06;p=ceph.git os/bluestore: define min_alloc_size globally Signed-off-by: Sage Weil --- diff --git a/src/os/bluestore/BlueStore.cc b/src/os/bluestore/BlueStore.cc index ac7af67a0335..77cbf1c83386 100644 --- a/src/os/bluestore/BlueStore.cc +++ b/src/os/bluestore/BlueStore.cc @@ -791,6 +791,7 @@ const char **BlueStore::get_tracked_conf_keys() const static const char* KEYS[] = { "bluestore_csum", "bluestore_csum_type", + "bluestore_min_alloc_size", NULL }; return KEYS; @@ -810,6 +811,9 @@ void BlueStore::handle_conf_change(const struct md_config_t *conf, << bluestore_blob_t::get_csum_type_string(csum_type) << dendl; } + if (changed.count("bluestore_min_alloc_size")) { + min_alloc_size = g_conf->bluestore_min_alloc_size; + } } void BlueStore::_init_logger() @@ -984,7 +988,7 @@ int BlueStore::_open_bdev(bool create) block_size = bdev->get_block_size(); block_mask = ~(block_size - 1); block_size_order = 0; - for (uint64_t t = 1; t < block_size; ++t) { + for (uint64_t t = 1; t < block_size; t <<= 1) { ++block_size_order; } return 0; diff --git a/src/os/bluestore/BlueStore.h b/src/os/bluestore/BlueStore.h index b54f3f8bc099..f46fb9435a74 100644 --- a/src/os/bluestore/BlueStore.h +++ b/src/os/bluestore/BlueStore.h @@ -598,6 +598,8 @@ private: uint64_t block_mask; ///< mask to get just the block offset size_t block_size_order; ///< bits to shift to get block size + uint64_t min_alloc_size; ///< minimum allocation unit (power of 2) + // -------------------------------------------------------- // private methods