From dbb562519948345b56c3c58f52f96071105c0a74 Mon Sep 17 00:00:00 2001 From: junxiang Mu <1948535941@qq.com> Date: Wed, 23 Apr 2025 07:26:37 +0000 Subject: [PATCH] fix Signed-off-by: junxiang Mu <1948535941@qq.com> --- ecstore/src/heal/data_scanner.rs | 10 ++++------ ecstore/src/heal/data_usage_cache.rs | 2 +- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/ecstore/src/heal/data_scanner.rs b/ecstore/src/heal/data_scanner.rs index 315b21fe..55f8af7d 100644 --- a/ecstore/src/heal/data_scanner.rs +++ b/ecstore/src/heal/data_scanner.rs @@ -1030,13 +1030,11 @@ impl FolderScanner { #[tracing::instrument(level = "info", skip(into, folder_scanner))] async fn scan(folder: &CachedFolder, into: &mut DataUsageEntry, folder_scanner: &mut FolderScanner) { - let mut dst = if into.compacted { - DataUsageEntry::default() - } else { - into.clone() - }; + if !into.compacted { + *into = DataUsageEntry::default(); + } - if Box::pin(folder_scanner.scan_folder(folder, &mut dst)).await.is_err() { + if Box::pin(folder_scanner.scan_folder(folder, into)).await.is_err() { return; } if !into.compacted { diff --git a/ecstore/src/heal/data_usage_cache.rs b/ecstore/src/heal/data_usage_cache.rs index de5b7373..11814c3e 100644 --- a/ecstore/src/heal/data_usage_cache.rs +++ b/ecstore/src/heal/data_usage_cache.rs @@ -541,7 +541,7 @@ impl DataUsageCache { match self.find(path) { Some(root) => { if root.children.is_empty() { - return None; + return Some(root); } let mut flat = self.flatten(&root); if flat.replication_stats.is_some() && flat.replication_stats.as_ref().unwrap().empty() {