fix: reject unsupported pool expansion with actionable errors (#7360)

* fix: reject unsupported pool expansion with actionable errors

Report singleton-pool and persisted-topology constraints before misleading startup retries. Preserve single-node multi-drive admission and existing parity policies, and cover format preservation plus operator recovery guidance for issue #6186.

* fix: keep pool layout errors typed

Preserve actionable pool layout diagnostics without adding generic formatted errors. Tighten the shrink-only baseline and assert that both typed payloads survive the I/O boundary.

---------

Co-authored-by: houseme <housemecn@gmail.com>
This commit is contained in:
cxymds
2026-09-07 19:07:42 +08:00
committed by GitHub
parent 4c2a0cdf9a
commit 37bda24e1c
11 changed files with 677 additions and 28 deletions
+1 -2
View File
@@ -35,7 +35,7 @@
1|crates/ecstore/src/erasure/coding/decode_reader.rs
10|crates/ecstore/src/erasure/coding/encode.rs
25|crates/ecstore/src/erasure/coding/erasure.rs
4|crates/ecstore/src/layout/disks_layout.rs
3|crates/ecstore/src/layout/disks_layout.rs
2|crates/ecstore/src/layout/endpoint.rs
17|crates/ecstore/src/layout/endpoints.rs
1|crates/ecstore/src/layout/format.rs
@@ -67,7 +67,6 @@
5|crates/ecstore/src/store/bucket.rs
1|crates/ecstore/src/store/heal_walk.rs
12|crates/ecstore/src/store/init.rs
2|crates/ecstore/src/store/init_format.rs
3|crates/ecstore/src/store/multipart.rs
6|crates/ecstore/src/store/object.rs
5|crates/ecstore/src/store/rebalance/support.rs