Fix autovivification leading to extra empty keys in pool-create
Test / buildenv (push) Successful in 11s Details
Test / build (push) Successful in 13s Details
Test / npm_lint (push) Successful in 9s Details
Test / test_cas (push) Successful in 10s Details
Test / make_test (push) Successful in 37s Details
Test / test_change_pg_size (push) Successful in 8s Details
Test / test_change_pg_count_ec (push) Successful in 30s Details
Test / test_change_pg_count (push) Successful in 36s Details
Test / test_create_nomaxid (push) Successful in 8s Details
Test / test_etcd_fail (push) Successful in 58s Details
Test / test_add_osd (push) Successful in 2m30s Details
Test / test_interrupted_rebalance_imm (push) Successful in 2m35s Details
Test / test_interrupted_rebalance_ec (push) Successful in 1m45s Details
Test / test_interrupted_rebalance (push) Successful in 2m43s Details
Test / test_failure_domain (push) Successful in 9s Details
Test / test_minsize_1 (push) Successful in 15s Details
Test / test_snapshot (push) Successful in 28s Details
Test / test_interrupted_rebalance_ec_imm (push) Successful in 1m28s Details
Test / test_snapshot_ec (push) Successful in 30s Details
Test / test_rm (push) Successful in 15s Details
Test / test_move_reappear (push) Successful in 22s Details
Test / test_snapshot_down (push) Successful in 30s Details
Test / test_snapshot_down_ec (push) Successful in 29s Details
Test / test_splitbrain (push) Successful in 22s Details
Test / test_snapshot_chain (push) Successful in 2m18s Details
Test / test_snapshot_chain_ec (push) Successful in 2m48s Details
Test / test_rebalance_verify_imm (push) Successful in 3m4s Details
Test / test_root_node (push) Successful in 10s Details
Test / test_rebalance_verify (push) Successful in 3m44s Details
Test / test_switch_primary (push) Successful in 36s Details
Test / test_write (push) Successful in 39s Details
Test / test_write_no_same (push) Successful in 19s Details
Test / test_write_xor (push) Successful in 1m4s Details
Test / test_rebalance_verify_ec_imm (push) Successful in 3m36s Details
Test / test_rebalance_verify_ec (push) Successful in 4m21s Details
Test / test_heal_pg_size_2 (push) Successful in 3m33s Details
Test / test_heal_csum_32k_dmj (push) Successful in 5m41s Details
Test / test_heal_ec (push) Successful in 6m5s Details
Test / test_heal_csum_32k_dj (push) Successful in 5m29s Details
Test / test_heal_csum_32k (push) Successful in 6m11s Details
Test / test_osd_tags (push) Successful in 22s Details
Test / test_enospc (push) Successful in 2m30s Details
Test / test_heal_csum_4k (push) Successful in 6m9s Details
Test / test_heal_csum_4k_dj (push) Successful in 6m11s Details
Test / test_heal_csum_4k_dmj (push) Successful in 6m14s Details
Test / test_scrub (push) Successful in 42s Details
Test / test_enospc_imm (push) Successful in 47s Details
Test / test_enospc_xor (push) Successful in 1m4s Details
Test / test_enospc_imm_xor (push) Successful in 1m1s Details
Test / test_scrub_zero_osd_2 (push) Successful in 27s Details
Test / test_scrub_xor (push) Successful in 27s Details
Test / test_nfs (push) Successful in 20s Details
Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 34s Details
Test / test_scrub_pg_size_3 (push) Successful in 49s Details
Test / test_scrub_ec (push) Successful in 31s Details

master
Vitaliy Filippov 2024-04-20 02:04:09 +03:00
parent 87f666d2a2
commit 3094358ec2
1 changed files with 8 additions and 4 deletions

View File

@ -14,7 +14,7 @@
struct pool_creator_t
{
cli_tool_t *parent;
json11::Json::object cfg;
json11::Json cfg;
bool force = false;
bool wait = false;
@ -55,8 +55,12 @@ struct pool_creator_t
goto resume_8;
// Validate pool parameters
result.text = validate_pool_config(cfg, json11::Json(), parent->cli->st_cli.global_block_size,
parent->cli->st_cli.global_bitmap_granularity, force);
{
auto new_cfg = cfg.object_items();
result.text = validate_pool_config(new_cfg, json11::Json(), parent->cli->st_cli.global_block_size,
parent->cli->st_cli.global_bitmap_granularity, force);
cfg = new_cfg;
}
if (result.text != "")
{
result.err = EINVAL;
@ -605,7 +609,7 @@ std::function<bool(cli_result_t &)> cli_tool_t::start_pool_create(json11::Json c
{
auto pool_creator = new pool_creator_t();
pool_creator->parent = this;
pool_creator->cfg = cfg.object_items();
pool_creator->cfg = cfg;
pool_creator->force = cfg["force"].bool_value();
pool_creator->wait = cfg["wait"].bool_value();
return [pool_creator](cli_result_t & result)