[pbs-devel] [PATCH proxmox-backup 2/8] api: datastore: move reusable code out of thread
Christian Ebner
c.ebner at proxmox.com
Fri Jun 7 11:43:07 CEST 2024
Move code that can be reused when having to perform a lookup via the
pxar metadata archive instead of the catalog out of the thread.
Signed-off-by: Christian Ebner <c.ebner at proxmox.com>
---
src/api2/admin/datastore.rs | 36 ++++++++++++++++++------------------
1 file changed, 18 insertions(+), 18 deletions(-)
diff --git a/src/api2/admin/datastore.rs b/src/api2/admin/datastore.rs
index 854302999..117dab080 100644
--- a/src/api2/admin/datastore.rs
+++ b/src/api2/admin/datastore.rs
@@ -1678,30 +1678,30 @@ pub async fn catalog(
) -> Result<Vec<ArchiveEntry>, Error> {
let auth_id: Authid = rpcenv.get_auth_id().unwrap().parse()?;
- tokio::task::spawn_blocking(move || {
- let ns = ns.unwrap_or_default();
+ let ns = ns.unwrap_or_default();
- let datastore = check_privs_and_load_store(
- &store,
- &ns,
- &auth_id,
- PRIV_DATASTORE_READ,
- PRIV_DATASTORE_BACKUP,
- Some(Operation::Read),
- &backup_dir.group,
- )?;
+ let datastore = check_privs_and_load_store(
+ &store,
+ &ns,
+ &auth_id,
+ PRIV_DATASTORE_READ,
+ PRIV_DATASTORE_BACKUP,
+ Some(Operation::Read),
+ &backup_dir.group,
+ )?;
- let backup_dir = datastore.backup_dir(ns, backup_dir)?;
+ let backup_dir = datastore.backup_dir(ns, backup_dir)?;
- let file_name = CATALOG_NAME;
+ let file_name = CATALOG_NAME;
- let (manifest, files) = read_backup_index(&backup_dir)?;
- for file in files {
- if file.filename == file_name && file.crypt_mode == Some(CryptMode::Encrypt) {
- bail!("cannot decode '{}' - is encrypted", file_name);
- }
+ let (manifest, files) = read_backup_index(&backup_dir)?;
+ for file in files {
+ if file.filename == file_name && file.crypt_mode == Some(CryptMode::Encrypt) {
+ bail!("cannot decode '{file_name}' - is encrypted");
}
+ }
+ tokio::task::spawn_blocking(move || {
let mut path = datastore.base_path();
path.push(backup_dir.relative_path());
path.push(file_name);
--
2.39.2
More information about the pbs-devel
mailing list