aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Auvolat <alex@adnab.me>2023-11-09 15:42:10 +0100
committerAlex Auvolat <alex@adnab.me>2023-11-09 15:42:10 +0100
commitbad7cc812ead88e9f334405c5c082d79c14c8898 (patch)
tree70d4e734babf1a4d07125ac0cca9acaf10d9b2f5
parent03ebf18830dff1983f09abe6ecb8d8d26daeb446 (diff)
downloadgarage-bad7cc812ead88e9f334405c5c082d79c14c8898.tar.gz
garage-bad7cc812ead88e9f334405c5c082d79c14c8898.zip
layout admin: add missing calls to update_hash
-rw-r--r--src/api/admin/cluster.rs1
-rw-r--r--src/garage/cli/layout.rs3
-rw-r--r--src/rpc/layout/history.rs2
3 files changed, 4 insertions, 2 deletions
diff --git a/src/api/admin/cluster.rs b/src/api/admin/cluster.rs
index 593bd778..d912b58f 100644
--- a/src/api/admin/cluster.rs
+++ b/src/api/admin/cluster.rs
@@ -240,6 +240,7 @@ pub async fn handle_update_cluster_layout(
.merge(&roles.update_mutator(node, layout::NodeRoleV(new_role)));
}
+ layout.update_hashes();
garage
.system
.layout_manager
diff --git a/src/garage/cli/layout.rs b/src/garage/cli/layout.rs
index 269d92f4..15727448 100644
--- a/src/garage/cli/layout.rs
+++ b/src/garage/cli/layout.rs
@@ -329,8 +329,9 @@ pub async fn fetch_layout(
pub async fn send_layout(
rpc_cli: &Endpoint<SystemRpc, ()>,
rpc_host: NodeID,
- layout: LayoutHistory,
+ mut layout: LayoutHistory,
) -> Result<(), Error> {
+ layout.update_hashes();
rpc_cli
.call(
&rpc_host,
diff --git a/src/rpc/layout/history.rs b/src/rpc/layout/history.rs
index 347f03db..e17a1c77 100644
--- a/src/rpc/layout/history.rs
+++ b/src/rpc/layout/history.rs
@@ -40,7 +40,7 @@ impl LayoutHistory {
.collect::<HashSet<_>>()
}
- pub(crate) fn update_hashes(&mut self) {
+ pub fn update_hashes(&mut self) {
self.trackers_hash = self.calculate_trackers_hash();
self.staging_hash = self.calculate_staging_hash();
}