From 6624ca9cdbecfa662777ffd61d6f2d13b7bdd9d7 Mon Sep 17 00:00:00 2001 From: Thomas Waldmann Date: Tue, 4 Oct 2016 04:55:10 +0200 Subject: [PATCH] verify_data: do a linear scan in disk-order --- src/borg/archive.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/borg/archive.py b/src/borg/archive.py index 16ab75e31..dd597a20f 100644 --- a/src/borg/archive.py +++ b/src/borg/archive.py @@ -1045,8 +1045,12 @@ class ArchiveChecker: errors = 0 defect_chunks = [] pi = ProgressIndicatorPercent(total=count, msg="Verifying data %6.2f%%", step=0.01) - for chunk_infos in chunkit(self.chunks.iteritems(), 100): - chunk_ids = [chunk_id for chunk_id, _ in chunk_infos] + marker = None + while True: + chunk_ids = self.repository.scan(limit=100, marker=marker) + if not chunk_ids: + break + marker = chunk_ids[-1] chunk_data_iter = self.repository.get_many(chunk_ids) chunk_ids_revd = list(reversed(chunk_ids)) while chunk_ids_revd: