mirror of
https://github.com/rustfs/rustfs.git
synced 2026-08-22 12:26:37 +00:00
fix(ecstore): fence decommission canceler cleanup
This commit is contained in:
+582
-150
File diff suppressed because it is too large
Load Diff
@@ -33,7 +33,7 @@ use crate::bucket::utils::check_put_object_part_args;
|
|||||||
use crate::bucket::utils::{check_valid_bucket_name, check_valid_bucket_name_strict, is_meta_bucketname};
|
use crate::bucket::utils::{check_valid_bucket_name, check_valid_bucket_name_strict, is_meta_bucketname};
|
||||||
use crate::cluster::rpc::{RemoteClient, S3PeerSys};
|
use crate::cluster::rpc::{RemoteClient, S3PeerSys};
|
||||||
use crate::config::storageclass;
|
use crate::config::storageclass;
|
||||||
use crate::core::pools::PoolMeta;
|
use crate::core::pools::{DecommissionCanceler, PoolMeta};
|
||||||
use crate::disk::endpoint::{Endpoint, EndpointType};
|
use crate::disk::endpoint::{Endpoint, EndpointType};
|
||||||
use crate::disk::{DiskAPI, DiskInfo, DiskInfoOptions};
|
use crate::disk::{DiskAPI, DiskInfo, DiskInfoOptions};
|
||||||
use crate::error::{Error, Result};
|
use crate::error::{Error, Result};
|
||||||
@@ -176,7 +176,7 @@ pub struct ECStore {
|
|||||||
// pub local_disks: Vec<DiskStore>,
|
// pub local_disks: Vec<DiskStore>,
|
||||||
pub pool_meta: RwLock<PoolMeta>,
|
pub pool_meta: RwLock<PoolMeta>,
|
||||||
pub rebalance_meta: RwLock<Option<RebalanceMeta>>,
|
pub rebalance_meta: RwLock<Option<RebalanceMeta>>,
|
||||||
pub decommission_cancelers: RwLock<Vec<Option<CancellationToken>>>,
|
pub decommission_cancelers: RwLock<Vec<Option<DecommissionCanceler>>>,
|
||||||
/// Serializes rebalance/decommission start transitions.
|
/// Serializes rebalance/decommission start transitions.
|
||||||
///
|
///
|
||||||
/// Lock order: acquire `start_gate` before `pool_meta`, `rebalance_meta`,
|
/// Lock order: acquire `start_gate` before `pool_meta`, `rebalance_meta`,
|
||||||
|
|||||||
Reference in New Issue
Block a user