all lists on lists.proxmox.com
 help / color / mirror / Atom feed
* [pbs-devel] [PATCH proxmox-backup 1/3] verify: check all chunks of an index, even if we encounter a corrupt one
@ 2020-07-30  7:09 Dominik Csapak
  2020-07-30  7:09 ` [pbs-devel] [PATCH proxmox-backup 2/3] verify: keep also track of corrupt chunks Dominik Csapak
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Dominik Csapak @ 2020-07-30  7:09 UTC (permalink / raw)
  To: pbs-devel

this makes it easier to see which chunks are corrupt
(and enables us in the future to build a 'complete' list of
corrupt chunks)

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
---
 src/backup/verify.rs | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/src/backup/verify.rs b/src/backup/verify.rs
index 33aaa621..9e309b12 100644
--- a/src/backup/verify.rs
+++ b/src/backup/verify.rs
@@ -42,6 +42,7 @@ fn verify_index_chunks(
     worker: &WorkerTask,
 ) -> Result<(), Error> {
 
+    let mut errors = 0;
     for pos in 0..index.index_count() {
 
         worker.fail_on_abort()?;
@@ -50,11 +51,19 @@ fn verify_index_chunks(
         let size = info.range.end - info.range.start;
 
         if !verified_chunks.contains(&info.digest) {
-            datastore.verify_stored_chunk(&info.digest, size)?;
-            verified_chunks.insert(info.digest);
+            if let Err(err) = datastore.verify_stored_chunk(&info.digest, size) {
+                worker.log(format!("{}", err));
+                errors += 1;
+            } else {
+                verified_chunks.insert(info.digest);
+            }
         }
     }
 
+    if errors > 0 {
+        bail!("chunks could not be verified");
+    }
+
     Ok(())
 }
 
-- 
2.20.1





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

end of thread, other threads:[~2020-07-30  7:41 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-07-30  7:09 [pbs-devel] [PATCH proxmox-backup 1/3] verify: check all chunks of an index, even if we encounter a corrupt one Dominik Csapak
2020-07-30  7:09 ` [pbs-devel] [PATCH proxmox-backup 2/3] verify: keep also track of corrupt chunks Dominik Csapak
2020-07-30  7:09 ` [pbs-devel] [PATCH proxmox-backup 3/3] verify: keep track and log which dirs failed the verification Dominik Csapak
2020-07-30  7:40 ` [pbs-devel] applied: [PATCH proxmox-backup 1/3] verify: check all chunks of an index, even if we encounter a corrupt one Dietmar Maurer

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