From e2e7560d5eb68089acc0f31c485052b2fc6acfb6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabian=20Gr=C3=BCnbichler?= Date: Thu, 28 Oct 2021 15:00:51 +0200 Subject: [PATCH] pull: use BackupGroup consistently MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit instead of `GroupListItem`s. we convert it anyway, so might as well do that at the start. Signed-off-by: Fabian Grünbichler Reviewed-by: Dominik Csapak Signed-off-by: Thomas Lamprecht --- src/server/pull.rs | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/src/server/pull.rs b/src/server/pull.rs index 555f0a94..5c3f9a18 100644 --- a/src/server/pull.rs +++ b/src/server/pull.rs @@ -656,29 +656,32 @@ pub async fn pull_store( } }); + let list:Vec = list + .into_iter() + .map(|item| BackupGroup::new(item.backup_type, item.backup_id)) + .collect(); + let mut errors = false; let mut new_groups = std::collections::HashSet::new(); - for item in list.iter() { - new_groups.insert(BackupGroup::new(&item.backup_type, &item.backup_id)); + for group in list.iter() { + new_groups.insert(group.clone()); } let mut progress = StoreProgress::new(list.len() as u64); - for (done, item) in list.into_iter().enumerate() { + for (done, group) in list.into_iter().enumerate() { progress.done_groups = done as u64; progress.done_snapshots = 0; progress.group_snapshots = 0; - let group = BackupGroup::new(&item.backup_type, &item.backup_id); - let (owner, _lock_guard) = match tgt_store.create_locked_backup_group(&group, &auth_id) { Ok(result) => result, Err(err) => { task_log!( worker, - "sync group {}/{} failed - group lock failed: {}", - item.backup_type, item.backup_id, err + "sync group {} failed - group lock failed: {}", + &group, err ); errors = true; // do not stop here, instead continue continue; @@ -690,8 +693,8 @@ pub async fn pull_store( // only the owner is allowed to create additional snapshots task_log!( worker, - "sync group {}/{} failed - owner check failed ({} != {})", - item.backup_type, item.backup_id, auth_id, owner + "sync group {} failed - owner check failed ({} != {})", + &group, auth_id, owner ); errors = true; // do not stop here, instead continue } else if let Err(err) = pull_group( @@ -707,8 +710,8 @@ pub async fn pull_store( { task_log!( worker, - "sync group {}/{} failed - {}", - item.backup_type, item.backup_id, err, + "sync group {} failed - {}", + &group, err, ); errors = true; // do not stop here, instead continue }