From 93b094772014eae2568a68b55b739a3b2a764ae1 Mon Sep 17 00:00:00 2001 From: Vitaliy Filippov Date: Mon, 15 Jul 2024 11:45:31 +0300 Subject: [PATCH] Support size suffixes in pool-create --block_size / --bitmap_granularity --- src/cmd/cli_pool_cfg.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/cmd/cli_pool_cfg.cpp b/src/cmd/cli_pool_cfg.cpp index 81d987bf..2207d4c9 100644 --- a/src/cmd/cli_pool_cfg.cpp +++ b/src/cmd/cli_pool_cfg.cpp @@ -71,8 +71,7 @@ std::string validate_pool_config(json11::Json::object & new_cfg, json11::Json ol auto & key = kv_it->first; auto & value = kv_it->second; if (key == "pg_size" || key == "parity_chunks" || key == "pg_minsize" || - key == "pg_count" || key == "max_osd_combinations" || - key == "bitmap_granularity" || key == "pg_stripe_size") + key == "pg_count" || key == "max_osd_combinations") { if (value.is_number() && value.uint64_value() != value.number_value() || value.is_string() && !value.uint64_value() && value.string_value() != "0") @@ -81,13 +80,14 @@ std::string validate_pool_config(json11::Json::object & new_cfg, json11::Json ol } value = value.uint64_value(); } - else if (key == "block_size") + else if (key == "block_size" || key == "bitmap_granularity" || key == "pg_stripe_size") { - uint64_t block_size = value.is_string() ? parse_size(value.string_value()) : value.uint64_value(); - if (!block_size) + uint64_t sz = value.is_string() ? parse_size(value.string_value()) : value.uint64_value(); + if (!sz) { return key+" must be an integer with or without size suffix (K/M/G/T)"; } + value = sz; } else if (key == "name" || key == "scheme" || key == "immediate_commit" || key == "failure_domain" || key == "root_node" || key == "scrub_interval" || key == "used_for_fs" ||