[pbs-devel] [PATCH v1 proxmox-backup 2/3] api2: add ignore-verified and outdated-after to datastore verify endpoint
Hannes Laimer
h.laimer at proxmox.com
Fri Jun 11 09:50:45 CEST 2021
Signed-off-by: Hannes Laimer <h.laimer at proxmox.com>
---
src/api2/admin/datastore.rs | 18 +++++++++++++++---
1 file changed, 15 insertions(+), 3 deletions(-)
diff --git a/src/api2/admin/datastore.rs b/src/api2/admin/datastore.rs
index e0dfeecc..13830298 100644
--- a/src/api2/admin/datastore.rs
+++ b/src/api2/admin/datastore.rs
@@ -646,6 +646,14 @@ pub fn status(
schema: BACKUP_ID_SCHEMA,
optional: true,
},
+ "ignore-verified": {
+ schema: IGNORE_VERIFIED_BACKUPS_SCHEMA,
+ optional: true,
+ },
+ "outdated-after": {
+ schema: VERIFICATION_OUTDATED_AFTER_SCHEMA,
+ optional: true,
+ },
"backup-time": {
schema: BACKUP_TIME_SCHEMA,
optional: true,
@@ -668,9 +676,12 @@ pub fn verify(
backup_type: Option<String>,
backup_id: Option<String>,
backup_time: Option<i64>,
+ ignore_verified: Option<bool>,
+ outdated_after: Option<i64>,
rpcenv: &mut dyn RpcEnvironment,
) -> Result<Value, Error> {
let datastore = DataStore::lookup_datastore(&store)?;
+ let ignore_verified = ignore_verified.unwrap_or(true);
let auth_id: Authid = rpcenv.get_auth_id().unwrap().parse()?;
let worker_id;
@@ -712,6 +723,7 @@ pub fn verify(
auth_id.clone(),
to_stdout,
move |worker| {
+ let filter = build_verify_filter(ignore_verified, outdated_after);
let verify_worker = crate::backup::VerifyWorker::new(worker.clone(), datastore);
let failed_dirs = if let Some(backup_dir) = backup_dir {
let mut res = Vec::new();
@@ -719,7 +731,7 @@ pub fn verify(
&verify_worker,
&backup_dir,
worker.upid().clone(),
- None,
+ Some(&filter),
)? {
res.push(backup_dir.to_string());
}
@@ -730,7 +742,7 @@ pub fn verify(
&backup_group,
&mut StoreProgress::new(1),
worker.upid(),
- None,
+ Some(&filter),
)?;
failed_dirs
} else {
@@ -743,7 +755,7 @@ pub fn verify(
None
};
- verify_all_backups(&verify_worker, worker.upid(), owner, None)?
+ verify_all_backups(&verify_worker, worker.upid(), owner, Some(&filter))?
};
if !failed_dirs.is_empty() {
worker.log("Failed to verify the following snapshots/groups:");
--
2.20.1
More information about the pbs-devel
mailing list