all lists on lists.proxmox.com
 help / color / mirror / Atom feed
* [pbs-devel] [PATCH proxmox-backup] api: list-snapshots improvements
@ 2024-07-03 13:16 Gabriel Goller
  2024-07-03 13:46 ` Christian Ebner
  0 siblings, 1 reply; 4+ messages in thread
From: Gabriel Goller @ 2024-07-03 13:16 UTC (permalink / raw)
  To: pbs-devel

`full_path` did not use the cached time string. By using it we avoid a
call to the super-slow libc strftime.

Fix a comment typo.

`list_snapshots_blocking` doesn't need to be unsafe.

The `protected` attribute of a backup has already been checked, avoid
retrieving it another time.

Signed-off-by: Gabriel Goller <g.goller@proxmox.com>
---
 pbs-datastore/src/backup_info.rs | 4 +++-
 pbs-datastore/src/datastore.rs   | 2 +-
 src/api2/admin/datastore.rs      | 6 +++---
 3 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/pbs-datastore/src/backup_info.rs b/pbs-datastore/src/backup_info.rs
index bdfaeabc1d12..414ec878d01a 100644
--- a/pbs-datastore/src/backup_info.rs
+++ b/pbs-datastore/src/backup_info.rs
@@ -415,7 +415,9 @@ impl BackupDir {
 
     /// Returns the absolute path for backup_dir, using the cached formatted time string.
     pub fn full_path(&self) -> PathBuf {
-        self.store.snapshot_path(&self.ns, &self.dir)
+        let mut path = self.store.base_path();
+        path.push(self.relative_path());
+        path
     }
 
     pub fn protected_file(&self) -> PathBuf {
diff --git a/pbs-datastore/src/datastore.rs b/pbs-datastore/src/datastore.rs
index 5e2208bca40e..11c6c2499ddb 100644
--- a/pbs-datastore/src/datastore.rs
+++ b/pbs-datastore/src/datastore.rs
@@ -844,7 +844,7 @@ impl DataStore {
         ListGroupsType::new(Arc::clone(self), ns, ty)
     }
 
-    /// Get a streaming iter over top-level backup groups of a datatstore of a particular type,
+    /// Get a streaming iter over top-level backup groups of a datastore of a particular type,
     /// filtered by `Ok` results
     ///
     /// The iterated item's result is already unwrapped, if it contained an error it will be
diff --git a/src/api2/admin/datastore.rs b/src/api2/admin/datastore.rs
index 82221c503d16..9c5ef7185b74 100644
--- a/src/api2/admin/datastore.rs
+++ b/src/api2/admin/datastore.rs
@@ -451,7 +451,7 @@ pub async fn list_snapshots(
 ) -> Result<Vec<SnapshotListItem>, Error> {
     let auth_id: Authid = rpcenv.get_auth_id().unwrap().parse()?;
 
-    tokio::task::spawn_blocking(move || unsafe {
+    tokio::task::spawn_blocking(move || {
         list_snapshots_blocking(store, ns, backup_type, backup_id, auth_id)
     })
     .await
@@ -459,7 +459,7 @@ pub async fn list_snapshots(
 }
 
 /// This must not run in a main worker thread as it potentially does tons of I/O.
-unsafe fn list_snapshots_blocking(
+fn list_snapshots_blocking(
     store: String,
     ns: Option<BackupNamespace>,
     backup_type: Option<BackupType>,
@@ -505,7 +505,7 @@ unsafe fn list_snapshots_blocking(
             group: group.into(),
             time: info.backup_dir.backup_time(),
         };
-        let protected = info.backup_dir.is_protected();
+        let protected = info.protected;
 
         match get_all_snapshot_files(&info) {
             Ok((manifest, files)) => {
-- 
2.43.0



_______________________________________________
pbs-devel mailing list
pbs-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2024-07-03 14:00 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-07-03 13:16 [pbs-devel] [PATCH proxmox-backup] api: list-snapshots improvements Gabriel Goller
2024-07-03 13:46 ` Christian Ebner
2024-07-03 13:55   ` Gabriel Goller
2024-07-03 14:00     ` Christian Ebner

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal