Only treat data partitions as existing OSDs in vitastor-disk prepare
Test / buildenv (push) Successful in 11s Details
Test / build (push) Successful in 2m37s Details
Test / test_cas (push) Successful in 11s Details
Test / make_test (push) Successful in 37s Details
Test / test_change_pg_size (push) Successful in 9s Details
Test / test_change_pg_count (push) Successful in 43s Details
Test / test_change_pg_count_ec (push) Successful in 40s Details
Test / test_create_nomaxid (push) Successful in 10s Details
Test / test_etcd_fail (push) Successful in 54s Details
Test / test_interrupted_rebalance_imm (push) Successful in 1m33s Details
Test / test_add_osd (push) Successful in 3m3s Details
Test / test_failure_domain (push) Successful in 17s Details
Test / test_snapshot (push) Successful in 24s Details
Test / test_interrupted_rebalance_ec_imm (push) Successful in 1m28s Details
Test / test_snapshot_ec (push) Successful in 28s Details
Test / test_minsize_1 (push) Successful in 15s Details
Test / test_interrupted_rebalance_ec (push) Successful in 2m40s Details
Test / test_rm (push) Successful in 31s Details
Test / test_move_reappear (push) Successful in 39s Details
Test / test_snapshot_down (push) Successful in 26s Details
Test / test_interrupted_rebalance (push) Successful in 4m42s Details
Test / test_snapshot_down_ec (push) Successful in 26s Details
Test / test_splitbrain (push) Successful in 22s Details
Test / test_snapshot_chain (push) Failing after 3m17s Details
Test / test_snapshot_chain_ec (push) Failing after 3m13s Details
Test / test_rebalance_verify_imm (push) Successful in 2m51s Details
Test / test_write (push) Successful in 37s Details
Test / test_rebalance_verify_ec_imm (push) Successful in 2m37s Details
Test / test_write_no_same (push) Successful in 18s Details
Test / test_rebalance_verify_ec (push) Successful in 3m20s Details
Test / test_write_xor (push) Failing after 3m8s Details
Test / test_rebalance_verify (push) Successful in 8m20s Details
Test / test_heal_pg_size_2 (push) Successful in 4m17s Details
Test / test_heal_ec (push) Successful in 4m59s Details
Test / test_heal_csum_32k_dmj (push) Successful in 4m15s Details
Test / test_heal_csum_32k_dj (push) Successful in 5m35s Details
Test / test_heal_csum_32k (push) Successful in 6m47s Details
Test / test_heal_csum_4k_dmj (push) Successful in 6m49s Details
Test / test_scrub (push) Successful in 1m2s Details
Test / test_scrub_zero_osd_2 (push) Successful in 45s Details
Test / test_scrub_xor (push) Successful in 40s Details
Test / test_heal_csum_4k_dj (push) Successful in 7m16s Details
Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 1m9s Details
Test / test_scrub_ec (push) Successful in 45s Details
Test / test_heal_csum_4k (push) Successful in 5m26s Details
Test / test_scrub_pg_size_3 (push) Successful in 1m38s Details

kv-update
Vitaliy Filippov 2023-12-31 11:46:39 +03:00
parent 2f6b9c0306
commit 2f228fa96a
1 changed files with 13 additions and 4 deletions

View File

@ -440,16 +440,25 @@ std::vector<std::string> disk_tool_t::get_new_data_parts(vitastor_dev_info_t & d
{
// Use this partition
use_parts.push_back(part["uuid"].string_value());
osds_exist++;
}
else
{
std::string part_path = "/dev/disk/by-partuuid/"+strtolower(part["uuid"].string_value());
bool is_meta = sb["params"]["meta_device"].string_value() == part_path;
bool is_journal = sb["params"]["journal_device"].string_value() == part_path;
bool is_data = sb["params"]["data_device"].string_value() == part_path;
fprintf(
stderr, "%s is already initialized for OSD %lu, skipping\n",
part["node"].string_value().c_str(), sb["params"]["osd_num"].uint64_value()
stderr, "%s is already initialized for OSD %lu%s, skipping\n",
part["node"].string_value().c_str(), sb["params"]["osd_num"].uint64_value(),
(is_data ? " data" : (is_meta ? " meta" : (is_journal ? " journal" : "")))
);
osds_size += part["size"].uint64_value()*dev.pt["sectorsize"].uint64_value();
if (is_data || sb["params"]["data_device"].string_value().substr(0, 22) != "/dev/disk/by-partuuid/")
{
osds_size += part["size"].uint64_value()*dev.pt["sectorsize"].uint64_value();
osds_exist++;
}
}
osds_exist++;
}
}
// Still create OSD(s) if a disk has no more than (max_other_percent) other data