mirror of
https://github.com/rustfs/rustfs.git
synced 2026-08-08 22:33:22 +00:00
Fix: #38
Squashed commit of the following: commit ff72105e1ec81b5679401b021fb44e8135444de8 Author: weisd <weishidavip@163.com> Date: Sat Oct 5 09:55:09 2024 +0800 base bucketmetadata_sys done commit 69d0c7725ae1065d25755c71aa54e42c4f3cdb50 Author: weisd <weishidavip@163.com> Date: Sat Oct 5 01:41:19 2024 +0800 update bucket tagging op use bucketmetadata_sys commit 39902c73d6f7a817041245af84a23d14115c70dc Author: weisd <weishidavip@163.com> Date: Fri Oct 4 23:32:07 2024 +0800 test bucketmetadata_sys commit 15f1dfc765dc383ab26d71aca7c64dd0917b83f3 Author: weisd <weishidavip@163.com> Date: Fri Oct 4 23:21:58 2024 +0800 init bucketmetadata_sys commit 8c3c5e0f7385fa881b1dc4811d92afe8b86e9a6f Author: weisd <weishidavip@163.com> Date: Tue Oct 1 23:06:09 2024 +0800 init bucketmetadata_sys commit e2746d154aa68be9dcf8add0241b38c72ef89b9c Author: weisd <weishidavip@163.com> Date: Tue Oct 1 04:35:25 2024 +0800 stash
This commit is contained in:
@@ -10,7 +10,7 @@ use std::{
|
||||
};
|
||||
|
||||
/// enum for setup type.
|
||||
#[derive(PartialEq, Eq, Debug)]
|
||||
#[derive(PartialEq, Eq, Debug, Clone)]
|
||||
pub enum SetupType {
|
||||
/// starts with unknown setup type.
|
||||
Unknown,
|
||||
@@ -111,6 +111,7 @@ impl Endpoints {
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Debug)]
|
||||
/// a temporary type to holds the list of endpoints
|
||||
struct PoolEndpointList {
|
||||
inner: Vec<Endpoints>,
|
||||
@@ -387,7 +388,7 @@ pub struct PoolEndpoints {
|
||||
|
||||
/// list of list of endpoints
|
||||
#[derive(Debug, Clone)]
|
||||
pub struct EndpointServerPools(Vec<PoolEndpoints>);
|
||||
pub struct EndpointServerPools(pub Vec<PoolEndpoints>);
|
||||
|
||||
impl From<Vec<PoolEndpoints>> for EndpointServerPools {
|
||||
fn from(v: Vec<PoolEndpoints>) -> Self {
|
||||
@@ -408,6 +409,9 @@ impl AsMut<Vec<PoolEndpoints>> for EndpointServerPools {
|
||||
}
|
||||
|
||||
impl EndpointServerPools {
|
||||
pub fn reset(&mut self, eps: Vec<PoolEndpoints>) {
|
||||
self.0 = eps;
|
||||
}
|
||||
pub fn from_volumes(server_addr: &str, endpoints: Vec<String>) -> Result<(EndpointServerPools, SetupType)> {
|
||||
let layouts = DisksLayout::try_from(endpoints.as_slice())?;
|
||||
|
||||
@@ -439,6 +443,10 @@ impl EndpointServerPools {
|
||||
Ok((ret, pool_eps.setup_type))
|
||||
}
|
||||
|
||||
pub fn es_count(&self) -> usize {
|
||||
self.0.iter().map(|v| v.set_count).count()
|
||||
}
|
||||
|
||||
/// add pool endpoints
|
||||
pub fn add(&mut self, eps: PoolEndpoints) -> Result<()> {
|
||||
let mut exits = HashSet::new();
|
||||
|
||||
Reference in New Issue
Block a user