Files
rustfs/crates
overtrue 7e2eeb6fc3 fix(kms): teach the observing Vault deserializer the wrap-budget field
Merge race broke main: #6019 added wrap_budget_reserved to VaultKeyData (with a serde default), and #6040 — green against a base without that field — landed its unknown-field-observing manual Deserialize with an initializer that does not mention it, so rustfs-kms no longer compiles.

Beyond the missing initializer field, the visitor would also have misclassified wrap_budget_reserved as an unknown field and dropped its value on every read, silently regressing the persisted wrap-budget count that #6019's whole design exists to preserve. The field is now a first-class visitor member: parsed when present, duplicate-checked, defaulting to 0 when absent (mirroring the struct's #[serde(default)] for records written before the field existed).

Verification: cargo check -p rustfs-kms (fails on main, passes here); cargo test -p rustfs-kms --lib vault (178 passed); clippy --all-targets -D warnings clean.
2026-08-13 08:22:17 +08:00
..