[pbs-devel] [PATCH proxmox-backup 05/17] api/datastore: add dedicated datastore helper to set snapshot notes

Christian Ebner c.ebner at proxmox.com
Mon Nov 3 12:31:08 CET 2025


In an effort to decouple the api from the datastore backend.

Signed-off-by: Christian Ebner <c.ebner at proxmox.com>
---
 pbs-datastore/src/datastore.rs | 11 +++++++++++
 src/api2/admin/datastore.rs    |  7 +------
 2 files changed, 12 insertions(+), 6 deletions(-)

diff --git a/pbs-datastore/src/datastore.rs b/pbs-datastore/src/datastore.rs
index cc1267d78..ae85be76d 100644
--- a/pbs-datastore/src/datastore.rs
+++ b/pbs-datastore/src/datastore.rs
@@ -2475,4 +2475,15 @@ impl DataStore {
         replace_file(&path, blob.raw_data(), CreateOptions::new(), false)?;
         Ok(())
     }
+
+    /// Set the notes for given snapshots.
+    pub fn set_notes(self: &Arc<Self>, notes: String, snapshot: BackupDir) -> Result<(), Error> {
+        let backend = self.backend().context("failed to get backend")?;
+        snapshot
+            .update_manifest(&backend, |manifest| {
+                manifest.unprotected["notes"] = notes.into();
+            })
+            .map_err(|err| format_err!("unable to update manifest blob - {err}"))?;
+        Ok(())
+    }
 }
diff --git a/src/api2/admin/datastore.rs b/src/api2/admin/datastore.rs
index 6881b4093..000cf80c3 100644
--- a/src/api2/admin/datastore.rs
+++ b/src/api2/admin/datastore.rs
@@ -2090,12 +2090,7 @@ pub fn set_notes(
     )?;
 
     let backup_dir = datastore.backup_dir(ns, backup_dir)?;
-
-    backup_dir
-        .update_manifest(&datastore.backend()?, |manifest| {
-            manifest.unprotected["notes"] = notes.into();
-        })
-        .map_err(|err| format_err!("unable to update manifest blob - {}", err))?;
+    datastore.set_notes(notes, backup_dir)?;
 
     Ok(())
 }
-- 
2.47.3





More information about the pbs-devel mailing list