From aa79d1db1c24cd07ec28a722100737ca8491effe Mon Sep 17 00:00:00 2001 From: Vitaliy Filippov Date: Wed, 6 Mar 2024 00:39:56 +0300 Subject: [PATCH] Fix incorrect "changing scheme" message in modify-pool --- src/cli_pool_cfg.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/cli_pool_cfg.cpp b/src/cli_pool_cfg.cpp index 376f9a91..287cba75 100644 --- a/src/cli_pool_cfg.cpp +++ b/src/cli_pool_cfg.cpp @@ -64,10 +64,6 @@ std::string validate_pool_config(json11::Json::object & new_cfg, json11::Json ol (new_cfg["parity_chunks"].uint64_value() > 1 ? 1 : 0); } } - if (new_cfg["scheme"] != "ec") - { - new_cfg.erase("parity_chunks"); - } // Check integer values and unknown keys for (auto kv_it = new_cfg.begin(); kv_it != new_cfg.end(); ) @@ -118,6 +114,12 @@ std::string validate_pool_config(json11::Json::object & new_cfg, json11::Json ol } } + // Check after merging + if (new_cfg["scheme"] != "ec") + { + new_cfg.erase("parity_chunks"); + } + // Prevent autovivification of object keys. Now we don't modify the config, we just check it json11::Json cfg = new_cfg;