From 646de337c52b053b51b63236ee42eb233e7f19f5 Mon Sep 17 00:00:00 2001 From: overtrue Date: Sun, 23 Aug 2026 08:20:47 +0800 Subject: [PATCH] fix(ecstore): repair free-version guard visibility --- crates/ecstore/src/core/pools.rs | 2 ++ crates/ecstore/src/set_disk/mod.rs | 2 +- crates/ecstore/src/store/init.rs | 4 +++- crates/ecstore/src/store/mod.rs | 2 +- crates/ecstore/src/store/object.rs | 2 +- 5 files changed, 8 insertions(+), 4 deletions(-) diff --git a/crates/ecstore/src/core/pools.rs b/crates/ecstore/src/core/pools.rs index e86d7c583..4de4f830e 100644 --- a/crates/ecstore/src/core/pools.rs +++ b/crates/ecstore/src/core/pools.rs @@ -13,6 +13,8 @@ // limitations under the License. use crate::bucket::replication::replication_state_from_filemeta; +#[cfg(test)] +use crate::bucket::utils::is_meta_bucketname; use crate::bucket::versioning_sys::BucketVersioningSys; use crate::bucket::{ lifecycle::{ diff --git a/crates/ecstore/src/set_disk/mod.rs b/crates/ecstore/src/set_disk/mod.rs index f5bb563a4..2544c98a2 100644 --- a/crates/ecstore/src/set_disk/mod.rs +++ b/crates/ecstore/src/set_disk/mod.rs @@ -249,7 +249,7 @@ async fn check_decommission_tier_free_version_target( { matching_count += 1; let existing = existing.into_fileinfo(bucket, object, true)?; - if !existing.tier_free_version() || !crate::store::object::tiered_data_movement_source_matches(source, &existing)? { + if !existing.tier_free_version() || !crate::store::tiered_data_movement_source_matches(source, &existing)? { all_matching_versions_equivalent = false; } } diff --git a/crates/ecstore/src/store/init.rs b/crates/ecstore/src/store/init.rs index 98eab2c52..6fd983dfb 100644 --- a/crates/ecstore/src/store/init.rs +++ b/crates/ecstore/src/store/init.rs @@ -553,6 +553,8 @@ mod tests { should_retry_format_load, should_retry_local_decommission_resume, wait_for_local_decommission_resume_delay, }; #[cfg(feature = "test-util")] + use crate::disk::DiskAPI; + #[cfg(feature = "test-util")] use crate::{ bucket::lifecycle::{ lifecycle::{TRANSITION_PENDING, TransitionOptions}, @@ -595,7 +597,7 @@ mod tests { use crate::{ bucket::replication::{ReplicationState, ReplicationStatusType, replication_statuses_map}, core::pools::{POOL_META_VERSION, PoolDecommissionInfo, PoolMeta, PoolStatus}, - disk::{DiskAPI, endpoint::Endpoint}, + disk::endpoint::Endpoint, error::{Error, Result, StorageError}, io_support::rio::{WritePlan, compression_metadata_value}, layout::endpoints::{EndpointServerPools, Endpoints, PoolEndpoints}, diff --git a/crates/ecstore/src/store/mod.rs b/crates/ecstore/src/store/mod.rs index a40edd929..3a9d60eaa 100644 --- a/crates/ecstore/src/store/mod.rs +++ b/crates/ecstore/src/store/mod.rs @@ -151,7 +151,7 @@ pub(crate) mod init_format; pub(crate) mod list_objects; mod multipart; mod object; -pub(crate) use object::{ObjectLockDiagGuard, SourceCleanupMutationFence}; +pub(crate) use object::{ObjectLockDiagGuard, SourceCleanupMutationFence, tiered_data_movement_source_matches}; pub use object::{ PrepareSelectObjectSnapshotError, PreparedGetObjectReader, SelectObjectSnapshot, SelectObjectSnapshotReadError, SnapshotConsistencyError, diff --git a/crates/ecstore/src/store/object.rs b/crates/ecstore/src/store/object.rs index 8f30269d2..90775a20d 100644 --- a/crates/ecstore/src/store/object.rs +++ b/crates/ecstore/src/store/object.rs @@ -3270,7 +3270,7 @@ impl ECStore { // Default return value let mut del_objects = vec![DeletedObject::default(); objects.len()]; - let mut accounting = vec![None; objects.len()]; + let accounting = vec![None; objects.len()]; let mut del_errs = Vec::with_capacity(objects.len()); for _ in 0..objects.len() {