mirror of
https://github.com/rustfs/rustfs.git
synced 2026-08-12 16:16:55 +00:00
@@ -160,7 +160,7 @@ impl HealingTracker {
|
||||
}
|
||||
|
||||
pub async fn reset_healing(&mut self) {
|
||||
self.mu.write().await;
|
||||
let _ = self.mu.write().await;
|
||||
self.items_healed = 0;
|
||||
self.items_failed = 0;
|
||||
self.bytes_done = 0;
|
||||
@@ -178,37 +178,37 @@ impl HealingTracker {
|
||||
}
|
||||
|
||||
pub async fn get_last_update(&self) -> u64 {
|
||||
self.mu.read().await;
|
||||
let _ = self.mu.read().await;
|
||||
|
||||
self.last_update
|
||||
}
|
||||
|
||||
pub async fn get_bucket(&self) -> String {
|
||||
self.mu.read().await;
|
||||
let _ = self.mu.read().await;
|
||||
|
||||
self.bucket.clone()
|
||||
}
|
||||
|
||||
pub async fn set_bucket(&mut self, bucket: &str) {
|
||||
self.mu.write().await;
|
||||
let _ = self.mu.write().await;
|
||||
|
||||
self.bucket = bucket.to_string();
|
||||
}
|
||||
|
||||
pub async fn get_object(&self) -> String {
|
||||
self.mu.read().await;
|
||||
let _ = self.mu.read().await;
|
||||
|
||||
self.object.clone()
|
||||
}
|
||||
|
||||
pub async fn set_object(&mut self, object: &str) {
|
||||
self.mu.write().await;
|
||||
let _ = self.mu.write().await;
|
||||
|
||||
self.object = object.to_string();
|
||||
}
|
||||
|
||||
pub async fn update_progress(&mut self, success: bool, skipped: bool, by: u64) {
|
||||
self.mu.write().await;
|
||||
let _ = self.mu.write().await;
|
||||
|
||||
if success {
|
||||
self.items_healed += 1;
|
||||
@@ -227,7 +227,7 @@ impl HealingTracker {
|
||||
if healing(&disk.path().to_string_lossy().to_string()).await?.is_none() {
|
||||
return Err(Error::from_string(format!("healingTracker: drive {} is not marked as healing", self.id)));
|
||||
}
|
||||
self.mu.write().await;
|
||||
let _ = self.mu.write().await;
|
||||
if self.id.is_empty() || self.pool_index.is_none() || self.set_index.is_none() || self.disk_index.is_none() {
|
||||
self.id = disk.get_disk_id().await?.map_or("".to_string(), |id| id.to_string());
|
||||
let disk_location = disk.get_disk_location();
|
||||
@@ -241,7 +241,7 @@ impl HealingTracker {
|
||||
}
|
||||
|
||||
pub async fn save(&mut self) -> Result<()> {
|
||||
self.mu.write().await;
|
||||
let _ = self.mu.write().await;
|
||||
if self.pool_index.is_none() || self.set_index.is_none() || self.disk_index.is_none() {
|
||||
let layer = new_object_layer_fn();
|
||||
let lock = layer.read().await;
|
||||
@@ -290,7 +290,7 @@ impl HealingTracker {
|
||||
}
|
||||
|
||||
async fn is_healed(&self, bucket: &str) -> bool {
|
||||
self.mu.read().await;
|
||||
let _ = self.mu.read().await;
|
||||
for v in self.healed_buckets.iter() {
|
||||
if v == bucket {
|
||||
return true;
|
||||
@@ -301,7 +301,7 @@ impl HealingTracker {
|
||||
}
|
||||
|
||||
async fn resume(&mut self) {
|
||||
self.mu.write().await;
|
||||
let _ = self.mu.write().await;
|
||||
|
||||
self.items_healed = self.resume_items_healed;
|
||||
self.items_failed = self.resume_items_failed;
|
||||
@@ -312,7 +312,7 @@ impl HealingTracker {
|
||||
}
|
||||
|
||||
async fn bucket_done(&mut self, bucket: &str) {
|
||||
self.mu.write().await;
|
||||
let _ = self.mu.write().await;
|
||||
|
||||
self.resume_items_healed = self.items_healed;
|
||||
self.resume_items_failed = self.items_failed;
|
||||
@@ -326,7 +326,7 @@ impl HealingTracker {
|
||||
}
|
||||
|
||||
async fn set_queue_buckets(&mut self, buckets: &[BucketInfo]) {
|
||||
self.mu.write().await;
|
||||
let _ = self.mu.write().await;
|
||||
|
||||
buckets.iter().for_each(|bucket| {
|
||||
if !self.healed_buckets.contains(&bucket.name) {
|
||||
@@ -336,7 +336,7 @@ impl HealingTracker {
|
||||
}
|
||||
|
||||
pub async fn to_healing_disk(&self) -> HealingDisk {
|
||||
self.mu.read().await;
|
||||
let _ = self.mu.read().await;
|
||||
|
||||
HealingDisk {
|
||||
id: self.id.clone(),
|
||||
|
||||
@@ -13,7 +13,7 @@ use std::{
|
||||
path::Path,
|
||||
pin::Pin,
|
||||
sync::Arc,
|
||||
time::{Duration, Instant, SystemTime, UNIX_EPOCH},
|
||||
time::{Duration, SystemTime, UNIX_EPOCH},
|
||||
};
|
||||
use tokio::{
|
||||
select, spawn,
|
||||
@@ -202,7 +202,7 @@ impl HealSequence {
|
||||
|
||||
async fn stop(&self) {
|
||||
let w = self.tx.write().await;
|
||||
w.send(true);
|
||||
let _ = w.send(true);
|
||||
}
|
||||
|
||||
async fn push_heal_result_item(&self, r: &HealResultItem) -> Result<()> {
|
||||
@@ -363,7 +363,7 @@ impl AllHealState {
|
||||
}
|
||||
|
||||
async fn pop_heal_local_disks(&mut self, heal_local_disks: &[Endpoint]) {
|
||||
self.mu.write().await;
|
||||
let _ = self.mu.write().await;
|
||||
|
||||
self.heal_local_disks.retain(|k, _| {
|
||||
if heal_local_disks.contains(k) {
|
||||
@@ -383,14 +383,14 @@ impl AllHealState {
|
||||
}
|
||||
|
||||
async fn update_heal_status(&mut self, tracker: &HealingTracker) {
|
||||
self.mu.write().await;
|
||||
tracker.mu.read().await;
|
||||
let _ = self.mu.write().await;
|
||||
let _ = tracker.mu.read().await;
|
||||
|
||||
self.heal_status.insert(tracker.id.clone(), tracker.clone());
|
||||
}
|
||||
|
||||
async fn get_local_healing_disks(&self) -> HashMap<String, HealingDisk> {
|
||||
self.mu.read().await;
|
||||
let _ = self.mu.read().await;
|
||||
|
||||
let mut dst = HashMap::new();
|
||||
for v in self.heal_status.values() {
|
||||
@@ -401,7 +401,7 @@ impl AllHealState {
|
||||
}
|
||||
|
||||
async fn get_heal_local_disk_endpoints(&self) -> Endpoints {
|
||||
self.mu.read().await;
|
||||
let _ = self.mu.read().await;
|
||||
|
||||
let mut endpoints = Vec::new();
|
||||
self.heal_local_disks.iter().for_each(|(k, v)| {
|
||||
@@ -414,13 +414,13 @@ impl AllHealState {
|
||||
}
|
||||
|
||||
async fn set_disk_healing_status(&mut self, ep: Endpoint, healing: bool) {
|
||||
self.mu.write().await;
|
||||
let _ = self.mu.write().await;
|
||||
|
||||
self.heal_local_disks.insert(ep, healing);
|
||||
}
|
||||
|
||||
async fn push_heal_local_disks(&mut self, heal_local_disks: &[Endpoint]) {
|
||||
self.mu.write().await;
|
||||
let _ = self.mu.write().await;
|
||||
|
||||
heal_local_disks.iter().for_each(|heal_local_disk| {
|
||||
self.heal_local_disks.insert(heal_local_disk.clone(), false);
|
||||
@@ -436,7 +436,7 @@ impl AllHealState {
|
||||
}
|
||||
}
|
||||
_ = sleep(Duration::from_secs(5 * 60)) => {
|
||||
self.mu.write().await;
|
||||
let _ = self.mu.write().await;
|
||||
let now = SystemTime::now();
|
||||
|
||||
let mut keys_to_reomve = Vec::new();
|
||||
@@ -454,7 +454,7 @@ impl AllHealState {
|
||||
}
|
||||
|
||||
async fn get_heal_sequence_by_token(&self, token: &str) -> (Option<HealSequence>, bool) {
|
||||
self.mu.read().await;
|
||||
let _ = self.mu.read().await;
|
||||
|
||||
for v in self.heal_seq_map.values() {
|
||||
if v.client_token == token {
|
||||
@@ -466,7 +466,7 @@ impl AllHealState {
|
||||
}
|
||||
|
||||
async fn get_heal_sequence(&self, path: &str) -> Option<HealSequence> {
|
||||
self.mu.read().await;
|
||||
let _ = self.mu.read().await;
|
||||
|
||||
self.heal_seq_map.get(path).cloned()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user