From ac04d12b424a9a852f557f9c31a477d90bbbc42e Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Mon, 12 Jun 2017 23:18:56 -0400 Subject: [PATCH] os/bluestore: use double in _set_cache_sizes Freaking floating point imprecision sucks. Signed-off-by: Sage Weil --- src/os/bluestore/BlueStore.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/os/bluestore/BlueStore.cc b/src/os/bluestore/BlueStore.cc index e899868339208..756351da78ec8 100644 --- a/src/os/bluestore/BlueStore.cc +++ b/src/os/bluestore/BlueStore.cc @@ -3545,7 +3545,8 @@ int BlueStore::_set_cache_sizes() { cache_meta_ratio = cct->_conf->bluestore_cache_meta_ratio; cache_kv_ratio = cct->_conf->bluestore_cache_kv_ratio; - cache_data_ratio = 1.0 - cache_meta_ratio - cache_kv_ratio; + cache_data_ratio = + (double)1.0 - (double)cache_meta_ratio - (double)cache_kv_ratio; if (cache_meta_ratio <= 0 || cache_meta_ratio > 1.0) { derr << __func__ << "bluestore_cache_meta_ratio (" << cache_meta_ratio -- 2.39.5