From e83864af24cc5be706ea5807a5aacd890006724d Mon Sep 17 00:00:00 2001
From: Alex Auvolat <lx@deuxfleurs.fr>
Date: Tue, 11 Mar 2025 09:29:38 +0100
Subject: [PATCH] layout: better encapsulation

---
 src/api/admin/cluster.rs | 9 +++------
 src/rpc/layout/mod.rs    | 2 +-
 2 files changed, 4 insertions(+), 7 deletions(-)

diff --git a/src/api/admin/cluster.rs b/src/api/admin/cluster.rs
index c86b3237..41049d5e 100644
--- a/src/api/admin/cluster.rs
+++ b/src/api/admin/cluster.rs
@@ -248,8 +248,8 @@ impl RequestHandler for GetClusterLayoutHistoryRequest {
 		garage: &Arc<Garage>,
 		_admin: &Admin,
 	) -> Result<GetClusterLayoutHistoryResponse, Error> {
-		let layout = garage.system.cluster_layout();
-		let layout = layout.inner();
+		let layout_helper = garage.system.cluster_layout();
+		let layout = layout_helper.inner();
 		let min_stored = layout.min_stored();
 
 		let versions = layout
@@ -289,10 +289,7 @@ impl RequestHandler for GetClusterLayoutHistoryRequest {
 			.collect::<Vec<_>>();
 
 		let all_nodes = layout.get_all_nodes();
-		let min_ack = layout
-			.update_trackers
-			.ack_map
-			.min_among(&all_nodes, layout.min_stored());
+		let min_ack = layout_helper.ack_map_min();
 
 		let update_trackers = if layout.versions.len() > 1 {
 			Some(
diff --git a/src/rpc/layout/mod.rs b/src/rpc/layout/mod.rs
index ce21a524..0d8ed05f 100644
--- a/src/rpc/layout/mod.rs
+++ b/src/rpc/layout/mod.rs
@@ -455,7 +455,7 @@ impl UpdateTracker {
 		}
 	}
 
-	pub fn min_among(&self, storage_nodes: &[Uuid], min_version: u64) -> u64 {
+	fn min_among(&self, storage_nodes: &[Uuid], min_version: u64) -> u64 {
 		storage_nodes
 			.iter()
 			.map(|x| self.get(x, min_version))