From 95505d41d6b93307c57e3714ac0c1503a4c15252 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Mon, 26 Nov 2018 14:55:06 -0600 Subject: [PATCH] mon: add 'size' arg to `osd pool create` Take advantage of keyword arguments to extend what we can do in a single command during pool creation. Signed-off-by: John Spray --- src/common/config.h | 6 +++--- src/common/config_proxy.h | 4 ++-- src/common/options.cc | 2 ++ src/crimson/common/config_proxy.h | 4 ++-- src/mon/MonCommands.h | 3 ++- src/mon/OSDMonitor.cc | 21 ++++++++++++++++----- src/mon/OSDMonitor.h | 2 ++ src/osd/OSDMap.cc | 3 ++- 8 files changed, 31 insertions(+), 14 deletions(-) diff --git a/src/common/config.h b/src/common/config.h index 0a6ef80372f..49a88f4d302 100644 --- a/src/common/config.h +++ b/src/common/config.h @@ -344,9 +344,9 @@ public: string data_dir_option; ///< data_dir config option, if any public: - unsigned get_osd_pool_default_min_size(const ConfigValues& values) const { - auto min_size = get_val(values, "osd_pool_default_min_size"); - auto size = get_val(values, "osd_pool_default_size"); + unsigned get_osd_pool_default_min_size(const ConfigValues& values, + uint8_t size) const { + uint8_t min_size = get_val(values, "osd_pool_default_min_size"); return min_size ? std::min(min_size, size) : (size - size / 2); } diff --git a/src/common/config_proxy.h b/src/common/config_proxy.h index 70e373f13ba..174ce4ad3d9 100644 --- a/src/common/config_proxy.h +++ b/src/common/config_proxy.h @@ -101,8 +101,8 @@ public: return config.get_val_from_conf_file(values, sections, key, out, emeta); } - unsigned get_osd_pool_default_min_size() const { - return config.get_osd_pool_default_min_size(values); + unsigned get_osd_pool_default_min_size(uint8_t size) const { + return config.get_osd_pool_default_min_size(values, size); } void early_expand_meta(std::string &val, std::ostream *oss) const { diff --git a/src/common/options.cc b/src/common/options.cc index 0daa306c13b..e97c30b02cf 100644 --- a/src/common/options.cc +++ b/src/common/options.cc @@ -2384,12 +2384,14 @@ std::vector