From 30b0a25b86222be55b12e34e2b2a7674093c4954 Mon Sep 17 00:00:00 2001 From: Igor Fedotov Date: Mon, 8 Jul 2019 17:40:20 +0300 Subject: [PATCH] os/bluestore: implement more intelligent DB volume space managment for BlueFS. It allows excessive space usage for higher DB levels. Signed-off-by: Igor Fedotov (cherry picked from commit 5f72c376deb64562e5e88be2f22339135ac7372b) Conflicts: src/common/legacy_config_opts.h src/common/options.cc Future options tried to get into. --- src/common/legacy_config_opts.h | 2 + src/common/options.cc | 11 ++ src/os/bluestore/BlueFS.cc | 35 ++++-- src/os/bluestore/BlueFS.h | 62 ++++++----- src/os/bluestore/BlueRocksEnv.h | 2 + src/os/bluestore/BlueStore.cc | 190 +++++++++++++++++++++++++++++--- src/os/bluestore/BlueStore.h | 178 ++++++++++++++++++++++++++++++ 7 files changed, 429 insertions(+), 51 deletions(-) diff --git a/src/common/legacy_config_opts.h b/src/common/legacy_config_opts.h index 7be0744fc1348..3723ca6c5d76c 100644 --- a/src/common/legacy_config_opts.h +++ b/src/common/legacy_config_opts.h @@ -1089,6 +1089,8 @@ OPTION(bluestore_warn_on_legacy_statfs, OPT_BOOL) OPTION(bluestore_log_op_age, OPT_DOUBLE) OPTION(bluestore_log_omap_iterator_age, OPT_DOUBLE) OPTION(bluestore_log_collection_list_age, OPT_DOUBLE) +OPTION(bluestore_volume_selection_policy, OPT_STR) +OPTION(bluestore_volume_selection_reserved_factor, OPT_DOUBLE) OPTION(kstore_max_ops, OPT_U64) OPTION(kstore_max_bytes, OPT_U64) diff --git a/src/common/options.cc b/src/common/options.cc index 95ddada8ef942..7a4c439fb7e67 100644 --- a/src/common/options.cc +++ b/src/common/options.cc @@ -4935,6 +4935,17 @@ std::vector