mirror of
https://github.com/rustfs/rustfs.git
synced 2026-08-05 12:57:42 +00:00
c5c2dc5aa0
Drop the store module's blanket #![allow(dead_code)] and resolve every unit it was masking, instead of keeping them staged: - write_persistent_key_only_index: the keys-only writer wrapper only had test callers; the in-process rebuild flow already exists and uses the _with_metadata variant (prepare -> rebuild, triggered lazily from the opt-in listing path). Tests call _with_metadata directly now. - ListIndexLifecycle::recover_after_restart / mark_corrupt: production derives index health per request from the persisted artifacts (index file + namespace mutation journal), and restart recovery already lives in load_persistent_key_only_index's journal restore. The persisted- lifecycle design these transitions served was superseded, and Corrupt had no detector, so the never-constructed Corrupt state/reason variants go with them. - record_list_objects_index_opt_in_fallback (+ helpers): superseded by the inline per-site fallback recording in the opt-in listing path; the recorder recomputed health with a hardcoded None provider, so it could only ever report a disabled-based reason. - Provider-contract traits (Generation/Page/PageIterator/KeyLookup): provider dispatch went the ListObjectsIndexProviderKind enum route; only ListMetadataIndexHealth is live (dyn in source-mode selection) and stays, minus its unused is_healthy default. - Delete the unused list_quorum_from_env/RUSTFS_API_LIST_QUORUM pair, fold should_resume_local_decommission and should_auto_start_rebalance_after_recovered_meta into their surviving primitives, drop get_disk_via_endpoint, and cfg(test) the remaining test-only conveniences.
RustFS ECStore - Erasure Coding Storage
High-performance erasure coding storage engine for RustFS distributed object storage
📖 Documentation
· 🐛 Bug Reports
· 💬 Discussions
📖 Overview
RustFS ECStore provides erasure coding storage capabilities for the RustFS distributed object storage system. For the complete RustFS experience, please visit the main RustFS repository.
✨ Features
- Reed-Solomon erasure coding implementation
- Configurable redundancy levels (N+K schemes)
- Automatic data healing and reconstruction
- Multi-drive support with intelligent placement
- Parallel encoding/decoding for performance
- Efficient disk space utilization
📚 Documentation
For comprehensive documentation, examples, and usage guides, please visit the main RustFS repository.
📄 License
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
Copyright 2024 RustFS Team
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
RustFS is a trademark of RustFS, Inc.
All other trademarks are the property of their respective owners.
Made with ❤️ by the RustFS Storage Team
