From 4b77d300a28744613f1a250d436b2422a05a7213 Mon Sep 17 00:00:00 2001 From: Thomas Lamprecht Date: Sun, 24 Apr 2022 18:03:27 +0200 Subject: [PATCH] datastore: replace manual path assembly by group/dir full_path Signed-off-by: Thomas Lamprecht --- pbs-datastore/src/backup_info.rs | 11 +++-------- pbs-datastore/src/datastore.rs | 10 +++------- 2 files changed, 6 insertions(+), 15 deletions(-) diff --git a/pbs-datastore/src/backup_info.rs b/pbs-datastore/src/backup_info.rs index b8c8fcfc..555e430c 100644 --- a/pbs-datastore/src/backup_info.rs +++ b/pbs-datastore/src/backup_info.rs @@ -57,9 +57,7 @@ impl BackupGroup { pub fn list_backups(&self) -> Result, Error> { let mut list = vec![]; - let base_path = self.store.base_path(); - let mut path = base_path.to_owned(); - path.push(self.relative_group_path()); + let path = self.full_group_path(); proxmox_sys::fs::scandir( libc::AT_FDCWD, @@ -99,8 +97,7 @@ impl BackupGroup { pub fn last_successful_backup(&self) -> Result, Error> { let mut last = None; - let mut path = self.store.base_path(); - path.push(self.relative_group_path()); + let path = self.full_group_path(); proxmox_sys::fs::scandir( libc::AT_FDCWD, @@ -373,9 +370,7 @@ pub struct BackupInfo { impl BackupInfo { pub fn new(backup_dir: BackupDir) -> Result { - let base_path = backup_dir.store.base_path(); - let mut path = base_path.clone(); - path.push(backup_dir.relative_path()); + let path = backup_dir.full_path(); let files = list_backup_files(libc::AT_FDCWD, &path)?; let protected = backup_dir.is_protected(); diff --git a/pbs-datastore/src/datastore.rs b/pbs-datastore/src/datastore.rs index 5aece069..b2cbadfd 100644 --- a/pbs-datastore/src/datastore.rs +++ b/pbs-datastore/src/datastore.rs @@ -499,9 +499,7 @@ impl DataStore { ) -> Result, Error> { let backup_group = self.backup_group(backup_group.clone()); - let base_path = self.base_path(); - let mut group_path = base_path.clone(); - group_path.push(backup_group.relative_group_path()); + let group_path = backup_group.full_group_path(); if group_path.exists() { backup_group.last_successful_backup() @@ -976,8 +974,7 @@ impl DataStore { } pub fn load_blob(&self, backup_dir: &BackupDir, filename: &str) -> Result { - let mut path = self.base_path(); - path.push(backup_dir.relative_path()); + let mut path = backup_dir.full_path(); path.push(filename); proxmox_lang::try_block!({ @@ -1066,8 +1063,7 @@ impl DataStore { let blob = DataBlob::encode(manifest.as_bytes(), None, true)?; let raw_data = blob.raw_data(); - let mut path = self.base_path(); - path.push(backup_dir.relative_path()); + let mut path = backup_dir.full_path(); path.push(MANIFEST_BLOB_NAME); // atomic replace invalidates flock - no other writes past this point!