From c02d3a8717b43da6c9bc44c01eee95ab3e09287c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabian=20Gr=C3=BCnbichler?= Date: Thu, 21 Nov 2024 11:48:53 +0100 Subject: [PATCH] push: keep track of created namespaces MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit to avoid attempting to create them multiple times in case a whole hierarchy is missing, and misleadingly logging that they were created multiple times as well. Signed-off-by: Fabian Grünbichler --- src/server/push.rs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/server/push.rs b/src/server/push.rs index 9ebf8031..5c3850b5 100644 --- a/src/server/push.rs +++ b/src/server/push.rs @@ -282,7 +282,7 @@ async fn remove_target_group( // Check if the namespace is already present on the target, create it otherwise async fn check_or_create_target_namespace( params: &PushParameters, - existing_target_namespaces: &[BackupNamespace], + existing_target_namespaces: &mut Vec, target_namespace: &BackupNamespace, ) -> Result<(), Error> { if !target_namespace.is_root() && !existing_target_namespaces.contains(target_namespace) { @@ -311,6 +311,7 @@ async fn check_or_create_target_namespace( bail!("Remote creation of namespace {current} failed, remote returned: {err}") } } + existing_target_namespaces.push(current.clone()); parent = current; } } @@ -348,7 +349,7 @@ pub(crate) async fn push_store(mut params: PushParameters) -> Result Result